diff options
author | Alkalus <Draknyte1@hotmail.com> | 2020-03-28 02:09:24 +0000 |
---|---|---|
committer | Alkalus <Draknyte1@hotmail.com> | 2020-03-28 02:09:24 +0000 |
commit | f39e8134fcef5da8bd04503c5233b2b6de249b3a (patch) | |
tree | 5713706bbff562e41ee5ebb4c896f5beab6e396d /src/resources | |
parent | 0678527ea975b4a95eb7f3d6547b79865b0a2a0e (diff) | |
download | GT5-Unofficial-f39e8134fcef5da8bd04503c5233b2b6de249b3a.tar.gz GT5-Unofficial-f39e8134fcef5da8bd04503c5233b2b6de249b3a.tar.bz2 GT5-Unofficial-f39e8134fcef5da8bd04503c5233b2b6de249b3a.zip |
+ Added more 'Special Behaviour' items for my multiblocks as Examples.
+ Added '/gtpp hand' command.
+ Added TungstenSteel & Neutronium tool variants to NEI while in dev.
+ Added Large Semifluid Generator and a crafting recipe for it.
+ Added Placeholder for Adv. Assembly Line.
+ Added Distillus Upgrade Chip and a crafting recipe for it.
% Updated build.gradle.
% Reworked a few recipes.
$ Fixed ULV Overflow Covers using 0L Water in assembler. (https://github.com/GTNewHorizons/NewHorizons/issues/5700)
$ Fixed Integral Encasement I using 0L Steel in assembler. (https://github.com/GTNewHorizons/NewHorizons/issues/5617)
$ Fixed Thaumcraft based FakePlayer's triggering Fluorite drops. (https://github.com/GTNewHorizons/NewHorizons/issues/5744)
$ Fixed bad handling of hatch textures on a few multiblocks.
$ Semi-Fixed Distillus.
$ Fixed Semifluid Generator recipes.
$ Fixed Semifluid Generators crashing the game when mined.
$ Fixed bad handling of calls to ItemList.java.
$ Began work fixing all ASM to be more compatible with ProGuard.
$ Fixed compiler complaining about varargs.
^ Bumped version to 1.7.05.x.
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/GradleStartClient.java | 103 | ||||
-rw-r--r-- | src/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png | bin | 0 -> 335 bytes | |||
-rw-r--r-- | src/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png | bin | 0 -> 459 bytes | |||
-rw-r--r-- | src/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png | bin | 0 -> 455 bytes | |||
-rw-r--r-- | src/resources/assets/miscutils/textures/items/MU-metaitem.01/162.png | bin | 0 -> 455 bytes |
5 files changed, 103 insertions, 0 deletions
diff --git a/src/resources/GradleStartClient.java b/src/resources/GradleStartClient.java new file mode 100644 index 0000000000..97edde8b04 --- /dev/null +++ b/src/resources/GradleStartClient.java @@ -0,0 +1,103 @@ +import java.io.File; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Arrays; + +import com.google.common.base.Strings; + +import net.minecraftforge.gradle.GradleStartCommon; + +public class GradleStartClient extends GradleStart { + + public static void main(String[] args) { + + // hack natives. + try { + GradleStartCommon.LOGGER.info("Injecting Natives!"); + hack(); + GradleStartCommon.LOGGER.info("Natives Injected!"); + // launch + Method launch = GradleStartCommon.class.getDeclaredMethod("launch", String[].class); + if (launch != null) { + launch.setAccessible(true); + GradleStart aStart = new GradleStart(); + GradleStartCommon.LOGGER.info("Launching!"); + launch.invoke(aStart, new Object[]{args}); + } + } + catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + e.printStackTrace(); + } + } + + private static final void hack() { + GradleStartCommon.LOGGER.info("[FG_1.3] Doing Classloader hack."); + String paths = System.getProperty("java.library.path"); + String nativesDir = "@@NATIVESDIR@@"; + + if (Strings.isNullOrEmpty(paths)) + paths = nativesDir; + else + paths += File.pathSeparator + nativesDir; + + hackNativesFixed(paths); + //addLibraryPath(nativesDir); + //addLibraryPath(paths); + } + + private static final void hackNativesFixed(String paths) { + System.setProperty("java.library.path", paths); + // hack the classloader now. + try + { + String aPathData = System.getProperty("java.library.path"); + final Method initializePathMethod = ClassLoader.class.getDeclaredMethod("initializePath", String.class); + GradleStartCommon.LOGGER.info("[FG_1.3] Setting private method 'initializePath' to be accessible."); + initializePathMethod.setAccessible(true); + GradleStartCommon.LOGGER.info("[FG_1.3] Invoking 'initializePath' with arg 'java.library.path'."); + GradleStartCommon.LOGGER.info("[FG_1.3] Path Value: "+aPathData); + final Object usrPathsValue = initializePathMethod.invoke(null, "java.library.path"); + final Field usrPathsField = ClassLoader.class.getDeclaredField("usr_paths"); + GradleStartCommon.LOGGER.info("[FG_1.3] Setting private field 'usr_paths' to be accessible."); + usrPathsField.setAccessible(true); + GradleStartCommon.LOGGER.info("[FG_1.3] Injecting path data."); + usrPathsField.set(null, usrPathsValue); + GradleStartCommon.LOGGER.info("[FG_1.3] Finished Classloader hack."); + } + catch(Throwable t) { + GradleStartCommon.LOGGER.info("[FG_1.3] Error handling Classloader hack, printing stack trace."); + t.printStackTrace(); + }; + } + + public static void addLibraryPath(String pathToAdd){ + Field usrPathsField; + try { + usrPathsField = ClassLoader.class.getDeclaredField("usr_paths"); + usrPathsField.setAccessible(true); + + //get array of paths + final String[] paths = (String[])usrPathsField.get(null); + + //check if the path to add is already present + for(String path : paths) { + if(path.equals(pathToAdd)) { + GradleStartCommon.LOGGER.info("[FG_1.3] Found existing PATH data, skipping."); + return; + } + } + GradleStartCommon.LOGGER.info("[FG_1.3] Injecting path data. ["+pathToAdd+"]"); + //add the new path + final String[] newPaths = Arrays.copyOf(paths, paths.length + 1); + newPaths[newPaths.length-1] = pathToAdd; + usrPathsField.set(null, newPaths); + } + catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) { + GradleStartCommon.LOGGER.info("[FG_1.3] Error handling Classloader hack, printing stack trace."); + e.printStackTrace(); + } + + } + +} diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png Binary files differnew file mode 100644 index 0000000000..29ba464570 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png Binary files differnew file mode 100644 index 0000000000..fa7f814d3a --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png Binary files differnew file mode 100644 index 0000000000..673c6e011b --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/162.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/162.png Binary files differnew file mode 100644 index 0000000000..65fc3f7d6e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/162.png |