diff --git a/src/main/java/com/colen/postea/Postea.java b/src/main/java/com/colen/postea/Postea.java index 2d7214c..2f4067f 100644 --- a/src/main/java/com/colen/postea/Postea.java +++ b/src/main/java/com/colen/postea/Postea.java @@ -111,21 +111,12 @@ public class Postea { BlockConversionInfo blockConversionInfoNew = new BlockConversionInfo(); - if ((blockConversionInfoOld.x % 2 == 1) && (blockConversionInfoOld.y % 2 == 0)) { + if ((blockConversionInfoOld.x == 334 && blockConversionInfoOld.y == 4 && blockConversionInfoOld.z == 73)) { blockConversionInfoNew.blockID = Block.getIdFromBlock(Blocks.wool); blockConversionInfoNew.metadata = 1; - } - if ((blockConversionInfoOld.x % 2 == 1) && (blockConversionInfoOld.y % 2 == 1)) { - blockConversionInfoNew.blockID = Block.getIdFromBlock(Blocks.wool); - blockConversionInfoNew.metadata = 2; - } - if ((blockConversionInfoOld.x % 2 == 0) && (blockConversionInfoOld.y % 2 == 0)) { - blockConversionInfoNew.blockID = Block.getIdFromBlock(Blocks.wool); - blockConversionInfoNew.metadata = 3; - } - if ((blockConversionInfoOld.x % 2 == 0) && (blockConversionInfoOld.y % 2 == 1)) { - blockConversionInfoNew.blockID = Block.getIdFromBlock(Blocks.wool); - blockConversionInfoNew.metadata = 4; + } else { + blockConversionInfoNew.blockID = blockConversionInfoOld.blockID; + blockConversionInfoNew.metadata = blockConversionInfoOld.metadata; } return blockConversionInfoNew; diff --git a/src/main/java/com/colen/postea/API/ChunkFixerUtility.java b/src/main/java/com/colen/postea/Utility/ChunkFixerUtility.java similarity index 97% rename from src/main/java/com/colen/postea/API/ChunkFixerUtility.java rename to src/main/java/com/colen/postea/Utility/ChunkFixerUtility.java index 5285833..ada65c4 100644 --- a/src/main/java/com/colen/postea/API/ChunkFixerUtility.java +++ b/src/main/java/com/colen/postea/Utility/ChunkFixerUtility.java @@ -1,6 +1,8 @@ -package com.colen.postea.API; +package com.colen.postea.Utility; import akka.japi.Pair; +import com.colen.postea.API.BlockReplacementManager; +import com.colen.postea.API.TileEntityReplacementManager; import com.colen.postea.Utility.BlockConversionInfo; import com.colen.postea.Utility.BlockInfo; import cpw.mods.fml.common.registry.GameRegistry; @@ -75,11 +77,6 @@ public class ChunkFixerUtility { } } - /** - * Replaces specified tile entities with a block in the chunk NBT data. - * - * @param chunkNBT The chunk's NBT data. - */ public static void transformTileEntities(NBTTagCompound chunkNBT, World world) { NBTTagCompound level = chunkNBT.getCompoundTag("Level"); @@ -200,6 +197,4 @@ public class ChunkFixerUtility { this.blockInfo = blockInfo; } } - - } diff --git a/src/main/java/com/colen/postea/Utility/PosteaUtilities.java b/src/main/java/com/colen/postea/Utility/PosteaUtilities.java index 271b672..fdb2f3c 100644 --- a/src/main/java/com/colen/postea/Utility/PosteaUtilities.java +++ b/src/main/java/com/colen/postea/Utility/PosteaUtilities.java @@ -16,4 +16,11 @@ public abstract class PosteaUtilities { return tagCompound; } + + public static void fixItemStack(NBTTagCompound tag) { + + if (tag.hasNoTags()) return; + + // Todo {id:5s,Count:4b,Damage:3s} + } } diff --git a/src/main/java/com/colen/postea/mixins/early/MixinAnvilChunkLoader.java b/src/main/java/com/colen/postea/mixins/early/MixinAnvilChunkLoader.java index 5534726..65c48d0 100644 --- a/src/main/java/com/colen/postea/mixins/early/MixinAnvilChunkLoader.java +++ b/src/main/java/com/colen/postea/mixins/early/MixinAnvilChunkLoader.java @@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static com.colen.postea.API.ChunkFixerUtility.processChunkNBT; +import static com.colen.postea.Utility.ChunkFixerUtility.processChunkNBT; @Mixin(AnvilChunkLoader.class) @SuppressWarnings("unused") diff --git a/src/main/java/com/colen/postea/mixins/early/MixinChunkProviderServer.java b/src/main/java/com/colen/postea/mixins/early/MixinChunkProviderServer.java index 61ce854..eff6429 100644 --- a/src/main/java/com/colen/postea/mixins/early/MixinChunkProviderServer.java +++ b/src/main/java/com/colen/postea/mixins/early/MixinChunkProviderServer.java @@ -1,12 +1,7 @@ package com.colen.postea.mixins.early; -import com.colen.postea.API.ChunkFixerUtility; -import net.minecraft.world.chunk.Chunk; import net.minecraft.world.gen.ChunkProviderServer; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ChunkProviderServer.class) @SuppressWarnings("unused") diff --git a/src/main/java/com/colen/postea/mixins/early/MixinItemStack.java b/src/main/java/com/colen/postea/mixins/early/MixinItemStack.java index 18865b1..4b59850 100644 --- a/src/main/java/com/colen/postea/mixins/early/MixinItemStack.java +++ b/src/main/java/com/colen/postea/mixins/early/MixinItemStack.java @@ -14,14 +14,16 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.colen.postea.API.ItemStackKey; import com.colen.postea.API.ItemStackReplacementManager; +import static com.colen.postea.Utility.PosteaUtilities.fixItemStack; + @Mixin(ItemStack.class) @SuppressWarnings("unused") public abstract class MixinItemStack { -// @Shadow -// private int itemDamage; // Metadata -// @Shadow -// private Item field_151002_e; + @Shadow + private int itemDamage; // Metadata + @Shadow + private Item field_151002_e; // // @Inject(method = "(Lnet/minecraft/item/Item;II)V", at = @At("RETURN")) // @SuppressWarnings("unused") @@ -35,17 +37,18 @@ public abstract class MixinItemStack { // func_150996_a(replacement.getItem()); // } // -// @Inject(method = "readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V", at = @At("RETURN")) -// @SuppressWarnings("unused") -// private void onReadFromNBTReturn(NBTTagCompound p_77963_1_, CallbackInfo ci) { + @Inject(method = "readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V", at = @At("RETURN")) + @SuppressWarnings("unused") + private void onReadFromNBTReturn(NBTTagCompound tag, CallbackInfo ci) { + fixItemStack(tag); // ItemStackKey replacement = ItemStackReplacementManager.getItemReplacement(field_151002_e, itemDamage); // // if (replacement == null) return; // // itemDamage = replacement.getDamage(); // func_150996_a(replacement.getItem()); -// } -// -// @Unique -// public native void func_150996_a(Item p_150996_1_); + } + + @Unique + public native void func_150996_a(Item p_150996_1_); }