From b6b7ffb2e58573dd515ee79d36dc657a2e265a1f Mon Sep 17 00:00:00 2001 From: TechnoParadox Date: Mon, 17 Oct 2022 22:24:41 +0200 Subject: [PATCH] Add BoP integration for alternative progression -Added alternative recipe for progression: If the 'enableBoPProgression` is set to **true** and Biomes O' Plenty is loaded, then the Atomic Alloy is created using Ender Amethyst instead of Obsidian. This is module is disabled by default. --- src/main/java/mekanism/api/MekanismConfig.java | 1 + src/main/java/mekanism/common/CommonProxy.java | 1 + src/main/java/mekanism/common/Mekanism.java | 14 ++++++++++++-- src/main/java/mekanism/common/MekanismItems.java | 2 ++ .../common/network/PacketConfigSync.java | 2 ++ .../resources/assets/mekanism/lang/en_US.lang | 2 ++ .../mekanism/textures/blocks/infuse/Ender.png | Bin 0 -> 1479 bytes .../mekanism/textures/items/CompressedEnder.png | Bin 0 -> 2492 bytes 8 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/assets/mekanism/textures/blocks/infuse/Ender.png create mode 100644 src/main/resources/assets/mekanism/textures/items/CompressedEnder.png diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index 2efa02907..b1f29d6ad 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -18,6 +18,7 @@ public class MekanismConfig public static boolean cardboardSpawners = true; public static boolean enableWorldRegeneration = true; public static boolean spawnBabySkeletons = true; + public static boolean enableBoPProgression = false; public static int obsidianTNTBlastRadius = 12; public static int osmiumPerChunk = 12; public static int copperPerChunk = 16; diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index b8eca12e7..4586dd7b4 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -255,6 +255,7 @@ public class CommonProxy implements IGuiProvider general.voiceServerEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "VoiceServerEnabled", false).getBoolean(); general.cardboardSpawners = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AllowSpawnerBoxPickup", true).getBoolean(); general.enableWorldRegeneration = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnableWorldRegeneration", false).getBoolean(); + general.enableBoPProgression = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "enableBoPProgression", false).getBoolean(); general.spawnBabySkeletons = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SpawnBabySkeletons", true).getBoolean(); general.obsidianTNTDelay = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ObsidianTNTDelay", 100).getInt(); general.obsidianTNTBlastRadius = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ObsidianTNTBlastRadius", 12).getInt(); diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 142cad69e..bb486d2e0 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -769,6 +769,8 @@ public class Mekanism FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismItems.Dust, 1, Resource.TIN.ordinal()), new ItemStack(MekanismItems.Ingot, 1, 6), 0.0F); //Enrichment Chamber Recipes + ItemStack Amethyst = GameRegistry.findItemStack("BiomesOPlenty", "gems", 1); + RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Blocks.redstone_ore), new ItemStack(Items.redstone, 12)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Blocks.obsidian), new ItemStack(MekanismItems.OtherDust, 2, 6)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Items.coal, 1, 0), new ItemStack(MekanismItems.CompressedCarbon)); @@ -790,6 +792,7 @@ public class Mekanism RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(MekanismBlocks.SaltBlock), new ItemStack(MekanismItems.Salt, 4)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Items.diamond), new ItemStack(MekanismItems.CompressedDiamond)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(MekanismItems.Polyethene, 3, 0), new ItemStack(MekanismItems.Polyethene, 1, 2)); + RecipeHandler.addEnrichmentChamberRecipe(Amethyst, new ItemStack(MekanismItems.CompressedEnder)); for(int i = 0; i < EnumColor.DYES.length; i++) { @@ -872,7 +875,11 @@ public class Mekanism RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("BIO"), 10, new ItemStack(Blocks.sand), new ItemStack(Blocks.dirt)); RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("BIO"), 10, new ItemStack(Blocks.dirt), new ItemStack(Blocks.dirt, 1, 2)); RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("DIAMOND"), 10, new ItemStack(MekanismItems.EnrichedAlloy), new ItemStack(MekanismItems.ReinforcedAlloy)); - RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("OBSIDIAN"), 10, new ItemStack(MekanismItems.ReinforcedAlloy), new ItemStack(MekanismItems.AtomicAlloy)); + if (MekanismConfig.general.enableBoPProgression && Loader.isModLoaded("BiomesOPlenty")) { + RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("ENDER"), 10, new ItemStack(MekanismItems.ReinforcedAlloy), new ItemStack(MekanismItems.AtomicAlloy)); + } else { + RecipeHandler.addMetallurgicInfuserRecipe(InfuseRegistry.get("OBSIDIAN"), 10, new ItemStack(MekanismItems.ReinforcedAlloy), new ItemStack(MekanismItems.AtomicAlloy)); + } //Chemical Infuser Recipes RecipeHandler.addChemicalInfuserRecipe(new GasStack(GasRegistry.getGas("oxygen"), 1), new GasStack(GasRegistry.getGas("sulfurDioxideGas"), 2), new GasStack(GasRegistry.getGas("sulfurTrioxideGas"), 2)); @@ -940,8 +947,10 @@ public class Mekanism InfuseRegistry.registerInfuseObject(new ItemStack(Blocks.brown_mushroom), new InfuseObject(InfuseRegistry.get("FUNGI"), 10)); InfuseRegistry.registerInfuseObject(new ItemStack(MekanismItems.CompressedDiamond), new InfuseObject(InfuseRegistry.get("DIAMOND"), 80)); InfuseRegistry.registerInfuseObject(new ItemStack(MekanismItems.CompressedObsidian), new InfuseObject(InfuseRegistry.get("OBSIDIAN"), 80)); + InfuseRegistry.registerInfuseObject(new ItemStack(MekanismItems.CompressedEnder), new InfuseObject(InfuseRegistry.get("ENDER"), 80)); + InfuseRegistry.registerInfuseObject(Amethyst, new InfuseObject(InfuseRegistry.get("ENDER"), 10)); - //Fuels + //Fuels GameRegistry.registerFuelHandler(new IFuelHandler() { @Override public int getBurnTime(ItemStack fuel) @@ -1195,6 +1204,7 @@ public class Mekanism InfuseRegistry.registerInfuseType(new InfuseType("FUNGI", "mekanism:infuse/Fungi").setUnlocalizedName("fungi")); InfuseRegistry.registerInfuseType(new InfuseType("BIO", "mekanism:infuse/Bio").setUnlocalizedName("bio")); InfuseRegistry.registerInfuseType(new InfuseType("OBSIDIAN", "mekanism:infuse/Obsidian").setUnlocalizedName("obsidian")); + InfuseRegistry.registerInfuseType(new InfuseType("ENDER", "mekanism:infuse/Ender").setUnlocalizedName("ender")); } @EventHandler diff --git a/src/main/java/mekanism/common/MekanismItems.java b/src/main/java/mekanism/common/MekanismItems.java index f2f7629c9..aed829d31 100644 --- a/src/main/java/mekanism/common/MekanismItems.java +++ b/src/main/java/mekanism/common/MekanismItems.java @@ -61,6 +61,7 @@ public class MekanismItems public static final Item CompressedRedstone = new ItemMekanism().setUnlocalizedName("CompressedRedstone"); public static final Item CompressedDiamond = new ItemMekanism().setUnlocalizedName("CompressedDiamond"); public static final Item CompressedObsidian = new ItemMekanism().setUnlocalizedName("CompressedObsidian"); + public static final Item CompressedEnder = new ItemMekanism().setUnlocalizedName("CompressedEnder"); public static final Item BrineBucket = new ItemMekanism().setMaxStackSize(1).setContainerItem(Items.bucket).setUnlocalizedName("BrineBucket"); public static final Item LithiumBucket = new ItemMekanism().setMaxStackSize(1).setContainerItem(Items.bucket).setUnlocalizedName("LithiumBucket"); public static final Item HeavyWaterBucket = new ItemMekanism().setMaxStackSize(1).setContainerItem(Items.bucket).setUnlocalizedName("HeavyWaterBucket"); @@ -132,6 +133,7 @@ public class MekanismItems GameRegistry.registerItem(CompressedRedstone, "CompressedRedstone"); GameRegistry.registerItem(CompressedDiamond, "CompressedDiamond"); GameRegistry.registerItem(CompressedObsidian, "CompressedObsidian"); + GameRegistry.registerItem(CompressedEnder, "CompressedEnder"); GameRegistry.registerItem(PortableTeleporter, "PortableTeleporter"); GameRegistry.registerItem(TeleportationCore, "TeleportationCore"); GameRegistry.registerItem(Clump, "Clump"); diff --git a/src/main/java/mekanism/common/network/PacketConfigSync.java b/src/main/java/mekanism/common/network/PacketConfigSync.java index ae4fd038b..cf8aab00d 100644 --- a/src/main/java/mekanism/common/network/PacketConfigSync.java +++ b/src/main/java/mekanism/common/network/PacketConfigSync.java @@ -35,6 +35,7 @@ public class PacketConfigSync implements IMessageHandler zaB^>EX>4U6ba`-PAZ2)IW&i+q+Qn9FcHwxpmt0LdWjtlvcRn zY1-Lt^EX&JM#OSnS&k7E@1i?iNB&w(t!;aD#bY03A7)agRK^HEQ0jHO7SJMY!#IwX z(UL1}g=!V4F60(WG7Fe(?74E`#@l$Vydp#|n}BW+Sw)8}f&MHjq+s>Eag#`zwQ7PU zE0j~1@6KSt1|-ByS-jG*69EgVQoV&tWdxOR^z}f zibQ7cn4nKVys$|1*`a?Yh- z(c%ky72pdDi!8eM#g?$dB`tX=E4I(-S6jmx*RLyX8*kW3o8N2; zTinu?x6-iJnl|68g%(?Cxs|hOQ`NVsT`Tu*)p)8VL#U367u8^n@#KR0abjIFC?=kv zcrAWG}vRPKsFLBFwBvn|$~mxu|zoPyPO41o|Ekcu?j7nwr0O_GT4!{$D9;D8p8s1fXvaYyjzdDlPWZuD0lliuP`o^v?qN$)Y_0>7hJcUbIiK{9lUp9+&j_A^M`C z{Rl{3JK}$|XrJ5zFD}{#T+#!d`EM-R8$f#CGykHZoj`i>PsooJ?bloqkP-h=GyMe- z3FZ&+-P`N{00D(*LqkwWLqi~Na&Km7Y-Iodc$|HaJxIeq9K~N#rBW&)b`Vj>P@SxZ zia1IYi(sL&62R|084ld5RI=Bjg;0K7Klar#0l=#1-&?3fz z<9@um_qclp2=y{k&5m(E)hr_wkBQmbiWqoB5WNUv2xAg6^+b9h1JChw4J|`YE=z_$LT$f#b<6LxD;F)0~lbRzA z6N|+*mfM(>43&6_IHIT;w6_><(4$+ZDSj(Jp|LUR1zfAG6ovoJZ~CWT@^=ZkHB3KqJAlxT*# hU^EOy!(cQF7yy%c!wjWzn|lBN002ovPDHLkV1nWDs1yJI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/items/CompressedEnder.png b/src/main/resources/assets/mekanism/textures/items/CompressedEnder.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab9b0c28e7ac3932b473d1b8f6e848013993a00 GIT binary patch literal 2492 zcmV;t2}AaYP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+SONEvg{@d{AU$e0+M)XIXtVfgDgLdkv((fo|CHF z%1_2+8w(JkyAh0=fBm`KANVol%?2#FTVL_TB;bSNJcFLzv)7y0HUY&KDVmnoz z-ys8x5#dkR@e~q&J^73z`(~-zemyha7LkOfm;5V!&c9>$0pL^mz|VKH%L|U<=$=;k zz{%_szsK)F={+LiXJmelC>5Xm`|lmUHOgA^%&rFLNJFwo-BYp=(^-<6*FZkq4nA6P(e-iq zgwQffyc)?sS!Rp&_(IUOHB^S@)qeIi+&w8Oe%mE<6*b%{yfB~OK zA|>*fITHcL0)8qYX9?WE07VyhAW9BUKgcP($3~w_S6hyJ%t$XFB4UYTP@_^oRtPa9 zthWLQRTm|O7-Nb#mZ-5NNg>6QQcgQh)hs#Wm{ZQVWX-im2_=?Paw$biRaQY7i%yef zEvi~82CbpOS4H~@L*phbwAfP1tu$@5Lq0w9*i+BFbnSKUkbxB7MjCmPp`%WkkkSk@ z&NTBZQ)gY!+L9GkTxsQ1mah7+W~_c??UT8GW{r$BzKGiG@{2W?bG}{BPA7452F5rL z7|)vl2%0x%zEB9fncJLsWpN^r5oO%u4BCu=!7z#AqKCT|b3gLtfbPHLjlW~gZR-9D z=G><4jk#ZW`-ZhquXHOHL38|?g1AFJkTZTz%#j>)8C{M4_mxQ|R$%hj>z>d+NX}r$-uvV~GuX+eP zlJ&ys6fN;8i_|jGnX~qZke$tTQ9lE=fIS^Ym=iPhP5m+CSq^1wWEpN^qdoXc^a4hQ zMC2ekNbc(j!c)4@W`ofzz>}QGp!YLSi_(w^Eq=H*?B|Y}`33GLwhj^YVG#<_I8u#a zHdWd@HR_kVsVkZpX9cEH4DR9Er*MSJ;JsNNoLlaY^)$novm1XqS9U$q9Im9S-qa{M z&$@AC>X3j0Bvh zAJKxmX;VhzNXRFKeZD^LJT!-Et>v1Kp0n~9B_I=58@qR$@oY>#LOaOe+(rlYedIjM z^y)aezpP|` zFT1;@yL;2{w&XAt-4dsn^9$AVlMd*tHK1FY2?AT1;%Id|Ryw-CA0w+*Qj4HGQ%n|; zGte-haWAzy6)IAdE#JxCq^d7(_fy5cegD54;h))1_cv2F2L5K+ibovet8I7$_ZV4<`XT6HkF^h0RU zkfgXc3a$kQKNhPFF3!3-xC(;c2Z*DSlcI~1_`jskBF2N`e!RQ)xO)c(^)ge z3t5*H&Rd+-a+Njj$zK@CYs+b_(;P$`i%1{|5i+XSKp7UIv}&Z7NYQ@G!$08oljM@g zwE;$sc~qc6a{SV!a(n&-?R5;7clD%#dQ4oc{ zx%c{aZ8<cQgn7b;<9;Ie36ioV4VEVFfqtgQb zs;@OzA=XM$G#D}XB9NAm!L`jpd#*V_kd*!JQ`9T%Q!Sbz5f%-mYY0n^9U8dyty zM?z}WEfi%*Tt!x&av)(dL&zhx6-^N@t%?VR?8BQ;9$3DbwwzK3Y(UKrtXkJqqHuvZ3R6={w8 z{CGVBCltF=e4bdoo6;--2k-Yl1XD%Uf)v7vP(~1;zcawk0==CxXoSwCEvS{w*>i{r zWnKO~$`5Wl(P4K;NS-{-06lzCj9?4|#UDhTy?G@3H}w-m