diff --git a/build.gradle b/build.gradle index 2dc32c9f2..505ad92b1 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1673027205 +//version: 1674409054 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -144,6 +144,7 @@ propertyDefaultIfUnset("modrinthProjectId", "") propertyDefaultIfUnset("modrinthRelations", "") propertyDefaultIfUnset("curseForgeProjectId", "") propertyDefaultIfUnset("curseForgeRelations", "") +propertyDefaultIfUnset("minimizeShadowedDependencies", true) String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" @@ -411,7 +412,9 @@ shadowJar { attributes(getManifestAttributes()) } - minimize() // This will only allow shading for actually used classes + if (minimizeShadowedDependencies.toBoolean()) { + minimize() // This will only allow shading for actually used classes + } configurations = [ project.configurations.shadowImplementation, project.configurations.shadowCompile @@ -554,7 +557,9 @@ task shadowDevJar(type: ShadowJar) { attributes(getManifestAttributes()) } - minimize() // This will only allow shading for actually used classes + if (minimizeShadowedDependencies.toBoolean()) { + minimize() // This will only allow shading for actually used classes + } configurations = [ project.configurations.shadowImplementation, project.configurations.shadowCompile diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 1461ca673..fcd93c7a9 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -463,24 +463,25 @@ public void preInit(FMLPreInitializationEvent event) { BloodMagicConfiguration.init(new File(event.getModConfigurationDirectory(), "AWWayofTime.cfg")); // Custom config stuff goes here - Potion[] potionTypes; - for (Field f : Potion.class.getDeclaredFields()) { - f.setAccessible(true); + if (Potion.potionTypes.length < 256) { + for (Field f : Potion.class.getDeclaredFields()) { + f.setAccessible(true); - try { - if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) { - Field modfield = Field.class.getDeclaredField("modifiers"); - modfield.setAccessible(true); - modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL); - potionTypes = (Potion[]) f.get(null); - final Potion[] newPotionTypes = new Potion[256]; - System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length); - f.set(null, newPotionTypes); + try { + if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) { + Field modfield = Field.class.getDeclaredField("modifiers"); + modfield.setAccessible(true); + modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL); + final Potion[] oldPotionTypes = Potion.potionTypes; + final Potion[] newPotionTypes = new Potion[256]; + System.arraycopy(oldPotionTypes, 0, newPotionTypes, 0, oldPotionTypes.length); + f.set(null, newPotionTypes); + } + } catch (Exception e) { + System.err.println("Severe error, please report this to the mod author:"); + System.err.println(e); } - } catch (Exception e) { - System.err.println("Severe error, please report this to the mod author:"); - System.err.println(e); } } AlchemicalWizardry.lifeEssenceFluid = new LifeEssence("LifeEssence");