Upload magma

This commit is contained in:
Diamond Creeper 2024-03-04 21:16:02 +13:00
commit dfa9ee0b24
5008 changed files with 653442 additions and 0 deletions

View file

@ -0,0 +1,63 @@
plugins {
id 'com.github.ben-manes.versions'
id 'org.javamodularity.moduleplugin' version '1.8.3' apply false
id 'org.cadixdev.licenser'
}
apply plugin: 'java-library'
apply plugin: 'jacoco'
apply plugin: 'org.javamodularity.moduleplugin'
dependencyUpdates.rejectVersionIf { isNonStable(it.candidate.version) }
java.withSourcesJar()
dependencies {
compileOnly("org.jetbrains:annotations:${JETBRAINS_ANNOTATIONS_VERSION}")
implementation(project(':fmlloader'))
implementation(project(':fmlcore'))
}
ext {
MANIFESTS = [
'': [
'FMLModType': 'LANGPROVIDER',
'Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
'Git-Commit': GIT_INFO.abbreviatedId,
'Git-Branch': GIT_INFO.branch,
'Build-Number': "${System.getenv('BUILD_NUMBER')?:0}",
] as LinkedHashMap,
'net/minecraftforge/fml/loading/': [
'Specification-Title': 'FMLLoader',
'Specification-Vendor': 'Forge Development LLC',
'Specification-Version': '1',
'Implementation-Title': 'FML Loader',
'Implementation-Version': '1.0',
'Implementation-Vendor': 'Forge'
] as LinkedHashMap
]
}
jar.doFirst {
manifest.attributes['Automatic-Module-Name'] = project.name
MANIFESTS.each { pkg, values ->
if (pkg == '')
manifest.attributes(values)
else
manifest.attributes(values, pkg)
}
}
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:unchecked'
}
license {
header = rootProject.file('LICENSE-header.txt')
ext {
year = new Date().format("yyyy")
}
exclude 'net/minecraftforge/'
}

View file

@ -0,0 +1,9 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/</h1><hr><pre><a href="../">../</a>
<a href="src/">src/</a> 07-Oct-2023 14:12 -
<a href="build.gradle">build.gradle</a> 07-Oct-2023 14:12 1796
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="6bdb7718876aeaa880413c0ce7d9592f" data-cf-beacon='{"rayId":"85f014f09a3950c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/</h1><hr><pre><a href="../">../</a>
<a href="services/">services/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="f86bc78901d2951ba27a80b09d86cd5b" data-cf-beacon='{"rayId":"85f0162c085050c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/services/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/services/</h1><hr><pre><a href="../">../</a>
<a href="net.minecraftforge.forgespi.language.IModLanguageProvider">net.minecraftforge.forgespi.language.IModLangua..&gt;</a> 07-Oct-2023 14:12 61
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="5a2a1ac891de7efc56dc419a3839aa1c" data-cf-beacon='{"rayId":"85f016e0fdfd50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1 @@
net.minecraftforge.fml.lowcodemod.LowCodeModLanguageProvider

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/</h1><hr><pre><a href="../">../</a>
<a href="META-INF/">META-INF/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="6fb6ee251ccfa12b1943f94eac11a459" data-cf-beacon='{"rayId":"85f015afdbbd50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/</h1><hr><pre><a href="../">../</a>
<a href="main/">main/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="36730850eb328890eaf24cea1f902eb6" data-cf-beacon='{"rayId":"85f015397ca650c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,9 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/</h1><hr><pre><a href="../">../</a>
<a href="java/">java/</a> 07-Oct-2023 14:12 -
<a href="resources/">resources/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="06d6bdaf691cd92e38a62787870c2086" data-cf-beacon='{"rayId":"85f0157b4f0850c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/</h1><hr><pre><a href="../">../</a>
<a href="net/">net/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="4bfc4a43c30264e2012b844bf6e0d6d2" data-cf-beacon='{"rayId":"85f015ad8ec150c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/</h1><hr><pre><a href="../">../</a>
<a href="minecraftforge/">minecraftforge/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="10fbb8a254709a7b2877bf7504822379" data-cf-beacon='{"rayId":"85f016298b6e50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/fml/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/fml/</h1><hr><pre><a href="../">../</a>
<a href="lowcodemod/">lowcodemod/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="928813bf8a0dcb01203aac50cf14ee8b" data-cf-beacon='{"rayId":"85f019b37e0250c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,53 @@
/*
* Copyright (c) Forge Development LLC and contributors
* SPDX-License-Identifier: LGPL-2.1-only
*/
package net.minecraftforge.fml.lowcodemod;
import com.mojang.logging.LogUtils;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.IExtensionPoint;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.event.IModBusEvent;
import net.minecraftforge.forgespi.language.IModInfo;
import net.minecraftforge.forgespi.language.ModFileScanData;
import org.slf4j.Logger;
import java.util.Objects;
import static net.minecraftforge.fml.loading.LogMarkers.LOADING;
public class LowCodeModContainer extends ModContainer
{
private static final Logger LOGGER = LogUtils.getLogger();
private final ModFileScanData scanResults;
private Object modInstance;
public LowCodeModContainer(IModInfo info, ModFileScanData modFileScanResults, ModuleLayer gameLayer)
{
super(info);
LOGGER.debug(LOADING, "Creating LowCodeModContainer for {}", info.getModId());
this.scanResults = modFileScanResults;
this.modInstance = new Object();
this.contextExtension = () -> null;
this.extensionPoints.remove(IExtensionPoint.DisplayTest.class);
}
@Override
public boolean matches(Object mod)
{
return mod == modInstance;
}
@Override
public Object getMod()
{
return modInstance;
}
@Override
protected <T extends Event & IModBusEvent> void acceptEvent(final T e)
{
}
}

View file

@ -0,0 +1,86 @@
/*
* Copyright (c) Forge Development LLC and contributors
* SPDX-License-Identifier: LGPL-2.1-only
*/
package net.minecraftforge.fml.lowcodemod;
import cpw.mods.modlauncher.api.LamdbaExceptionUtils;
import net.minecraftforge.fml.ModLoadingException;
import net.minecraftforge.fml.ModLoadingStage;
import net.minecraftforge.forgespi.language.ILifecycleEvent;
import net.minecraftforge.forgespi.language.IModLanguageProvider;
import net.minecraftforge.forgespi.language.IModInfo;
import net.minecraftforge.forgespi.language.ModFileScanData;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import static net.minecraftforge.fml.Logging.LOADING;
public class LowCodeModLanguageProvider implements IModLanguageProvider
{
private record LowCodeModTarget(String modId) implements IModLanguageProvider.IModLanguageLoader
{
private static final Logger LOGGER = LogManager.getLogger();
@SuppressWarnings("unchecked")
@Override
public <T> T loadMod(final IModInfo info, final ModFileScanData modFileScanResults, ModuleLayer gameLayer)
{
// This language class is loaded in the system level classloader - before the game even starts
// So we must treat container construction as an arms length operation, and load the container
// in the classloader of the game - the context classloader is appropriate here.
try {
final Class<?> fmlContainer = Class.forName("net.minecraftforge.fml.lowcodemod.LowCodeModContainer", true, Thread.currentThread().getContextClassLoader());
LOGGER.debug(LOADING, "Loading LowCodeModContainer from classloader {} - got {}", Thread.currentThread().getContextClassLoader(), fmlContainer.getClassLoader());
final Constructor<?> constructor = fmlContainer.getConstructor(IModInfo.class, ModFileScanData.class, ModuleLayer.class);
return (T) constructor.newInstance(info, modFileScanResults, gameLayer);
} catch (InvocationTargetException e) {
LOGGER.fatal(LOADING, "Failed to build mod", e);
if (e.getTargetException() instanceof ModLoadingException mle) {
throw mle;
} else {
throw new ModLoadingException(info, ModLoadingStage.CONSTRUCT, "fml.modloading.failedtoloadmodclass", e);
}
} catch (NoSuchMethodException | ClassNotFoundException | InstantiationException | IllegalAccessException e) {
LOGGER.fatal(LOADING, "Unable to load LowCodeModContainer, wut?", e);
final Class<RuntimeException> mle = (Class<RuntimeException>) LamdbaExceptionUtils.uncheck(() -> Class.forName("net.minecraftforge.fml.ModLoadingException", true, Thread.currentThread().getContextClassLoader()));
final Class<ModLoadingStage> mls = (Class<ModLoadingStage>) LamdbaExceptionUtils.uncheck(() -> Class.forName("net.minecraftforge.fml.ModLoadingStage", true, Thread.currentThread().getContextClassLoader()));
throw LamdbaExceptionUtils.uncheck(() -> LamdbaExceptionUtils.uncheck(() -> mle.getConstructor(IModInfo.class, mls, String.class, Throwable.class)).newInstance(info, Enum.valueOf(mls, "CONSTRUCT"), "fml.modloading.failedtoloadmodclass", e));
}
}
}
@Override
public String name()
{
return "lowcodefml";
}
@Override
public Consumer<ModFileScanData> getFileVisitor()
{
return scanResult ->
{
final Map<String, LowCodeModTarget> modTargetMap = scanResult.getIModInfoData().stream()
.flatMap(fi->fi.getMods().stream())
.map(IModInfo::getModId)
.map(LowCodeModTarget::new)
.collect(Collectors.toMap(LowCodeModTarget::modId, Function.identity(), (a, b)->a));
scanResult.addLanguageLoader(modTargetMap);
};
}
@Override
public <R extends ILifecycleEvent<R>> void consumeLifecycleEvent(final Supplier<R> consumeEvent)
{
}
}

View file

@ -0,0 +1,9 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/fml/lowcodemod/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/fml/lowcodemod/</h1><hr><pre><a href="../">../</a>
<a href="LowCodeModContainer.java">LowCodeModContainer.java</a> 07-Oct-2023 14:12 1522
<a href="LowCodeModLanguageProvider.java">LowCodeModLanguageProvider.java</a> 07-Oct-2023 14:12 4376
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="65153cc21fe538385e386b4b73599d23" data-cf-beacon='{"rayId":"85f02713598e1c5c","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/java/net/minecraftforge/</h1><hr><pre><a href="../">../</a>
<a href="fml/">fml/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="f2ada6da018cd4faf62fa65ede322a71" data-cf-beacon='{"rayId":"85f016de88ad50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/</h1><hr><pre><a href="../">../</a>
<a href="services/">services/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="f86bc78901d2951ba27a80b09d86cd5b" data-cf-beacon='{"rayId":"85f0162c085050c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/services/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/META-INF/services/</h1><hr><pre><a href="../">../</a>
<a href="net.minecraftforge.forgespi.language.IModLanguageProvider">net.minecraftforge.forgespi.language.IModLangua..&gt;</a> 07-Oct-2023 14:12 61
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="5a2a1ac891de7efc56dc419a3839aa1c" data-cf-beacon='{"rayId":"85f016e0fdfd50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>

View file

@ -0,0 +1 @@
net.minecraftforge.fml.lowcodemod.LowCodeModLanguageProvider

View file

@ -0,0 +1,8 @@
<html>
<head><title>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/</title></head>
<body>
<h1>Index of /mirror/src/Magma-1-20-x/lowcodelanguage/src/main/resources/</h1><hr><pre><a href="../">../</a>
<a href="META-INF/">META-INF/</a> 07-Oct-2023 14:12 -
</pre><hr><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" nonce="6fb6ee251ccfa12b1943f94eac11a459" data-cf-beacon='{"rayId":"85f015afdbbd50c2","version":"2024.2.4","r":1,"token":"583109dda43e47a593fd006526a81120","b":1}' crossorigin="anonymous"></script>
</body>
</html>