From fd25b49ebd0a7e661f45e2894b6bf5ff75ddc03d Mon Sep 17 00:00:00 2001 From: Grom PE Date: Tue, 5 Jun 2018 15:46:08 +0700 Subject: [PATCH] Fix patching for BTW v4.ABBBBURNBABYBURNAHAHAHAHAHA --- diffs/Item.diff | 9 +++- diffs/ItemBlock.diff | 10 +++++ diffs/ThreadDownloadImageData.diff | 7 ++++ patcher/GPEBTWTweak_files.zip | Bin 433136 -> 433221 bytes patcher/readme.txt | 6 ++- patcher/scripts/tweaks_bed.js | 2 +- patcher/scripts/tweaks_gamelogic.js | 8 ++-- patcher/scripts/tweaks_hooks.js | 6 +-- patcher/scripts/tweaks_vercompat.js | 26 ++++++++++++ tweaksrc/GPEBTWTweak.java | 62 +++++++++++++++------------- tweaksrc/GPEItemBlockMicro.java | 2 +- 11 files changed, 97 insertions(+), 41 deletions(-) create mode 100644 diffs/ItemBlock.diff create mode 100644 diffs/ThreadDownloadImageData.diff diff --git a/diffs/Item.diff b/diffs/Item.diff index 2dd1fda..06e58ad 100644 --- a/diffs/Item.diff +++ b/diffs/Item.diff @@ -1,8 +1,8 @@ diff --git a/src/minecraft/net/minecraft/src/Item.java b/src/minecraft/net/minecraft/src/Item.java -index 337c513..9bc1325 100644 +index 337c513..48fbe75 100644 --- a/src/minecraft/net/minecraft/src/Item.java +++ b/src/minecraft/net/minecraft/src/Item.java -@@ -776,0 +777,20 @@ public Item SetDefaultFurnaceBurnTime(int var1) +@@ -776,0 +777,25 @@ public Item SetDefaultFurnaceBurnTime(int var1) + public boolean IsPistonPackable(ItemStack stack) + { + return false; @@ -23,3 +23,8 @@ index 337c513..9bc1325 100644 + return 0; + } + ++ public boolean CanItemBeUsedByPlayer(World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack) ++ { ++ return true; ++ } ++ diff --git a/diffs/ItemBlock.diff b/diffs/ItemBlock.diff new file mode 100644 index 0000000..0188651 --- /dev/null +++ b/diffs/ItemBlock.diff @@ -0,0 +1,10 @@ +diff --git a/src/minecraft/net/minecraft/src/ItemBlock.java b/src/minecraft/net/minecraft/src/ItemBlock.java +index 8f64000..0254e30 100644 +--- a/src/minecraft/net/minecraft/src/ItemBlock.java ++++ b/src/minecraft/net/minecraft/src/ItemBlock.java +@@ -212,0 +213,5 @@ public void registerIcons(IconRegister par1IconRegister) ++ ++ public boolean CanItemBeUsedByPlayer(World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack) ++ { ++ return canPlaceItemBlockOnSide(world, x, y, z, side, player, stack); ++ } diff --git a/diffs/ThreadDownloadImageData.diff b/diffs/ThreadDownloadImageData.diff new file mode 100644 index 0000000..99a6a2e --- /dev/null +++ b/diffs/ThreadDownloadImageData.diff @@ -0,0 +1,7 @@ +diff --git a/src/minecraft/net/minecraft/src/ThreadDownloadImageData.java b/src/minecraft/net/minecraft/src/ThreadDownloadImageData.java +index 40d8470..a9f32b5 100644 +--- a/src/minecraft/net/minecraft/src/ThreadDownloadImageData.java ++++ b/src/minecraft/net/minecraft/src/ThreadDownloadImageData.java +@@ -26 +26 @@ public ThreadDownloadImageData(String par1, IImageBuffer par2IImageBuffer) +- (new ThreadDownloadImage(this, par1, par2IImageBuffer)).start(); ++ (new GPEThreadDownloadImage(this, par1, par2IImageBuffer)).start(); diff --git a/patcher/GPEBTWTweak_files.zip b/patcher/GPEBTWTweak_files.zip index ddb52facb7913f60e9f5928712f0fcfbc0f45923..0ead46c5a147b788b494c3c4c8ea1ba8cb8f7bd6 100644 GIT binary patch delta 12105 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 G>wf?bwc!8& delta 11958 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 diff --git a/patcher/readme.txt b/patcher/readme.txt index 8116fd2..c4f88f1 100644 --- a/patcher/readme.txt +++ b/patcher/readme.txt @@ -1,8 +1,12 @@ -Grom PE's Better Than Wolves Total Conversion tweak mod v1.1 +Grom PE's Better Than Wolves Total Conversion tweak mod v1.1a (Compatible with Better Than Wolves V4.8911+) [********** Change Log ************] +v1.1a + +- Fixed compatibility with BTW version "4.ABBBBURNBABYBURNAHAHAHAHAHA". + v1.1 - Fixed compatibility with BTW version "4.AACK". diff --git a/patcher/scripts/tweaks_bed.js b/patcher/scripts/tweaks_bed.js index f542035..812aaa6 100644 --- a/patcher/scripts/tweaks_bed.js +++ b/patcher/scripts/tweaks_bed.js @@ -285,7 +285,7 @@ function(mn) INSERT_BEFORE ).process(mn); }); -tweak("sq", "EntityPlayer", BOTH, "l_()V", [0xB4066F18, 0x99096FE7, 0x723C726B, 0xD6667B48, 0xD7AA7A79], "Player won't mind napping at day", +tweak("sq", "EntityPlayer", BOTH, "l_()V", [0xB4066F18, 0x99096FE7, 0x723C726B, 0xD6667B48, 0xD7AA7A79, 0xE5047B58], "Player won't mind napping at day", function(mn) { for (var i = 0; i < mn.instructions.size(); i++) diff --git a/patcher/scripts/tweaks_gamelogic.js b/patcher/scripts/tweaks_gamelogic.js index c4e07bb..d21db5e 100644 --- a/patcher/scripts/tweaks_gamelogic.js +++ b/patcher/scripts/tweaks_gamelogic.js @@ -750,9 +750,9 @@ function(cn) }); takeMicroblockOwnership("FCItemBlockMoulding", 0x411E0779); takeMicroblockOwnership("FCItemBlockSidingAndCorner", 0x411E0779); -takeMicroblockOwnership("FCItemBlockWoodCornerStub", 0x2C60197); -takeMicroblockOwnership("FCItemBlockWoodMouldingStub", 0x2C60197); -takeMicroblockOwnership("FCItemBlockWoodSidingStub", 0x2C60197); +takeMicroblockOwnership("FCItemBlockWoodCornerStub", [0x2C60197, 0x9BB02C1]); +takeMicroblockOwnership("FCItemBlockWoodMouldingStub", [0x2C60197, 0x9BB02C1]); +takeMicroblockOwnership("FCItemBlockWoodSidingStub", [0x2C60197, 0x9BB02C1]); add("Addon_Glass$BlockStainedGlass", null, BOTH, "Making Deco stained glass inherit from GPEBlockGlass", function(cn) { @@ -955,7 +955,7 @@ function(mn) } } }); -tweak("ng", "EntityLiving", BOTH, "bE()F", [0x2F3E47DF, 0xB84C4738], "Restoring the effect of swiftness potions", +tweak("ng", "EntityLiving", BOTH, "bE()F", [0x2F3E47DF, 0xB84C4738, 0x56554569], "Restoring the effect of swiftness potions", function(mn) { var label = LabelNode(); diff --git a/patcher/scripts/tweaks_hooks.js b/patcher/scripts/tweaks_hooks.js index 9b98f00..b1270a3 100644 --- a/patcher/scripts/tweaks_hooks.js +++ b/patcher/scripts/tweaks_hooks.js @@ -271,20 +271,20 @@ if (isBTWVersionOrNewer("4.89666")) return true; }); } -tweak("bdr", "PlayerControllerMP", CLIENT, "a(Lsq;Laab;Lwm;IIIILarc;)Z", [0x5A6E2C5E, 0x48DE3024], "Hooking block placing decision", +tweak("bdr", "PlayerControllerMP", CLIENT, "a(Lsq;Laab;Lwm;IIIILarc;)Z", [0x5A6E2C5E, 0x48DE3024, 0xCA582922], "Hooking block placing decision", function(mn) { for (var i = 0; i < mn.instructions.size(); i++) { var n = mn.instructions.get(i); - if (isInstance(n, "org.objectweb.asm.tree.MethodInsnNode") && n.owner.equals("xn") && n.name.equals("a") && n.desc.equals("(Laab;IIIILsq;Lwm;)Z")) + if (isInstance(n, "org.objectweb.asm.tree.MethodInsnNode") && /*n.owner.equals("xn") && n.name.equals("a") &&*/ n.desc.equals("(Laab;IIIILsq;Lwm;)Z")) { mn.instructions.insert(n, toInsnList( [ VarInsnNode(FLOAD, 9), VarInsnNode(FLOAD, 10), VarInsnNode(FLOAD, 11), - MethodInsnNode(INVOKESTATIC, "GPEBTWTweak", "canPlaceItemBlock", "(Lxn;Laab;IIIILsq;Lwm;FFF)Z"), + MethodInsnNode(INVOKESTATIC, "GPEBTWTweak", "canPlaceItemBlock", "(Lwk;Laab;IIIILsq;Lwm;FFF)Z"), ] )); mn.instructions.remove(n); diff --git a/patcher/scripts/tweaks_vercompat.js b/patcher/scripts/tweaks_vercompat.js index 0a7993c..a426440 100644 --- a/patcher/scripts/tweaks_vercompat.js +++ b/patcher/scripts/tweaks_vercompat.js @@ -48,3 +48,29 @@ if (isBTWVersionOrNewer("4.AABABABA")) // tweaking overrides adapting, so have to call it manually add("GPEBlockChest", null, SERVER, "Removing client-only methods", removeClientOnlyMethods); } +if (isBTWVersionOrNewer("4.ABBBBURNBABYBURNAHAHAHAHAHA")) +{ + function changeOwner(mn) + { + for (var i = 0; i < mn.instructions.size(); i++) + { + var n = mn.instructions.get(i); + if (isInstance(n, "org.objectweb.asm.tree.MethodInsnNode") && n.owner.equals("FCItemBlockCustom")) + { + n.owner = "xn"; + return true; + } + } + } + tweak("GPEItemBlockMicro", null, BOTH, "(I)V", CHECKSUM_IGNORE, "(1/2) Changing inheritance from removed class", + changeOwner); + tweak("GPEItemBlockMicro", null, BOTH, "a(Lwm;Lsq;Laab;IIIIFFF)Z", CHECKSUM_IGNORE, "(1/3) Changing inheritance from removed class", + changeOwner); + add("GPEItemBlockMicro", null, BOTH, "(3/3) Changing inheritance from removed class", + function(cn) + { + cn.superName = "xn"; + }); + // tweaking overrides adapting, so have to call it manually + add("GPEItemBlockMicro", null, SERVER, "Removing client-only methods", removeClientOnlyMethods); +} diff --git a/tweaksrc/GPEBTWTweak.java b/tweaksrc/GPEBTWTweak.java index 38f568c..e802340 100644 --- a/tweaksrc/GPEBTWTweak.java +++ b/tweaksrc/GPEBTWTweak.java @@ -11,7 +11,7 @@ public class GPEBTWTweak extends FCAddOn { public static GPEBTWTweak instance; private static GPEBTWTweakProxy proxy; - public static final String tweakVersion = "1.1"; + public static final String tweakVersion = "1.1a"; private static boolean postPostInitialized = false; public static boolean isDecoPresent; @@ -1681,37 +1681,41 @@ private static void extendBlockIDs() FCTileEntityBeacon.InitializeEffectsByBlockID(); } - public static boolean canPlaceItemBlock(ItemBlock ib, World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack, float hitX, float hitY, float hitZ) + public static boolean canPlaceItemBlock(Item item, World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack, float hitX, float hitY, float hitZ) { - if (ib instanceof GPEItemBlockMicro) + if (item instanceof ItemBlock) { - GPEItemBlockMicro mi = (GPEItemBlockMicro)ib; - if (mi.attemptToCombineWithBlock(stack, world, x, y, z, side, hitX, hitY, hitZ, false, true)) - return true; + ItemBlock ib = (ItemBlock)item; + if (ib instanceof GPEItemBlockMicro) + { + GPEItemBlockMicro mi = (GPEItemBlockMicro)ib; + if (mi.attemptToCombineWithBlock(stack, world, x, y, z, side, hitX, hitY, hitZ, false, true)) + return true; + } + int id = ib.getBlockID(); + int meta = ib.getMetadata(stack.getItemDamage()); + Block block = Block.blocksList[id]; + if (block instanceof GPEBlockLadder || block instanceof FCIBlock) + { + switch (side) + { + case 0: --y; break; + case 1: ++y; break; + case 2: --z; break; + case 3: ++z; break; + case 4: --x; break; + case 5: ++x; break; + } + int newMeta = block.onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, meta); + GPEWorldProxy4BB wp = new GPEWorldProxy4BB(world, x, y, z, id, newMeta); + block.setBlockBoundsBasedOnState(wp, x, y, z); + AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB( + (double)x + block.minX, (double)y + block.minY, (double)z + block.minZ, + (double)x + block.maxX, (double)y + block.maxY, (double)z + block.maxZ); + return world.checkNoEntityCollision(bb); + } } - int id = ib.getBlockID(); - int meta = ib.getMetadata(stack.getItemDamage()); - Block block = Block.blocksList[id]; - if (!(block instanceof GPEBlockLadder || block instanceof FCIBlock)) - { - return ib.canPlaceItemBlockOnSide(world, x, y, z, side, player, stack); - } - switch (side) - { - case 0: --y; break; - case 1: ++y; break; - case 2: --z; break; - case 3: ++z; break; - case 4: --x; break; - case 5: ++x; break; - } - int newMeta = block.onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, meta); - GPEWorldProxy4BB wp = new GPEWorldProxy4BB(world, x, y, z, id, newMeta); - block.setBlockBoundsBasedOnState(wp, x, y, z); - AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB( - (double)x + block.minX, (double)y + block.minY, (double)z + block.minZ, - (double)x + block.maxX, (double)y + block.maxY, (double)z + block.maxZ); - return world.checkNoEntityCollision(bb); + return item.CanItemBeUsedByPlayer(world, x, y, z, side, player, stack); } public static int getMinimumDifficulty() diff --git a/tweaksrc/GPEItemBlockMicro.java b/tweaksrc/GPEItemBlockMicro.java index 3008de9..3f6aa57 100644 --- a/tweaksrc/GPEItemBlockMicro.java +++ b/tweaksrc/GPEItemBlockMicro.java @@ -1,6 +1,6 @@ package net.minecraft.src; -public abstract class GPEItemBlockMicro extends FCItemBlockCustom +public abstract class GPEItemBlockMicro extends FCItemBlockCustom // NOTE: change to ItemBlock if it fails to compile in newer BTW version. { public GPEItemBlockMicro(int id) {