diff --git a/build.gradle b/build.gradle index f6dccee..e2754ca 100644 --- a/build.gradle +++ b/build.gradle @@ -19,10 +19,10 @@ compileJava { } minecraft { - version = "1.11.2-13.20.1.2386" + version = "1.10.2-12.18.3.2185" runDir = "run" - mappings = "snapshot_20161220" + mappings = "snapshot_20161111" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } diff --git a/src/main/java/tschipp/carryon/CarryOn.java b/src/main/java/tschipp/carryon/CarryOn.java index d39d3aa..0261a3e 100644 --- a/src/main/java/tschipp/carryon/CarryOn.java +++ b/src/main/java/tschipp/carryon/CarryOn.java @@ -19,7 +19,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; import tschipp.carryon.common.CommonProxy; @EventBusSubscriber -@Mod(modid = CarryOn.MODID, name = CarryOn.NAME, version = CarryOn.VERSION, guiFactory = "tschipp.carryon.client.gui.GuiFactoryCarryOn", dependencies = "required-after:forge@[13.20.1.2386,)") +@Mod(modid = CarryOn.MODID, name = CarryOn.NAME, version = CarryOn.VERSION, guiFactory = "tschipp.carryon.client.gui.GuiFactoryCarryOn") public class CarryOn { @SidedProxy(clientSide = "tschipp.carryon.client.ClientProxy", serverSide = "tschipp.carryon.common.CommonProxy") diff --git a/src/main/java/tschipp/carryon/client/event/RenderEvents.java b/src/main/java/tschipp/carryon/client/event/RenderEvents.java index 297cf59..e3ebc10 100644 --- a/src/main/java/tschipp/carryon/client/event/RenderEvents.java +++ b/src/main/java/tschipp/carryon/client/event/RenderEvents.java @@ -51,8 +51,8 @@ public class RenderEvents { if (event.getDwheel() > 0 || event.getDwheel() < 0) { - ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand(); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile) + ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand(); + if (stack != null && stack.getItem() == RegistrationHandler.itemTile) { if (ItemTile.hasTileData(stack)) event.setCanceled(true); @@ -70,11 +70,11 @@ public class RenderEvents if (event.getGui() != null) { boolean inventory = event.getGui() instanceof GuiContainer; - EntityPlayer player = Minecraft.getMinecraft().player; + EntityPlayer player = Minecraft.getMinecraft().thePlayer; if (player != null) { ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND); - if (inventory && !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + if (inventory && stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { event.setCanceled(true); Minecraft.getMinecraft().currentScreen = null; @@ -93,8 +93,8 @@ public class RenderEvents GameSettings settings = Minecraft.getMinecraft().gameSettings; Field field = KeyBinding.class.getDeclaredFields()[7]; field.setAccessible(true); - ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand(); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand(); + if (stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { if (settings.keyBindDrop.isPressed()) { @@ -121,11 +121,11 @@ public class RenderEvents @SubscribeEvent public void renderHand(RenderHandEvent event) { - World world = Minecraft.getMinecraft().world; - EntityPlayer player = Minecraft.getMinecraft().player; + World world = Minecraft.getMinecraft().theWorld; + EntityPlayer player = Minecraft.getMinecraft().thePlayer; ItemStack stack = player.getHeldItemMainhand(); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + if (stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { Block block = ItemTile.getBlock(stack); BlockPos pos = player.getPosition(); @@ -149,7 +149,7 @@ public class RenderEvents GlStateManager.rotate(8, 1f, 0, 0); if (perspective == 0) - Minecraft.getMinecraft().getRenderItem().renderItem(tileStack.isEmpty() ? stack : tileStack, ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag) : Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tileStack, world, player)); + Minecraft.getMinecraft().getRenderItem().renderItem(tileStack == null ? stack : tileStack, ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag) : Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tileStack, world, player)); GlStateManager.scale(1, 1, 1); GlStateManager.popMatrix(); @@ -168,12 +168,12 @@ public class RenderEvents @SubscribeEvent public void onPlayerRenderPost(RenderPlayerEvent.Post event) { - World world = Minecraft.getMinecraft().world; + World world = Minecraft.getMinecraft().theWorld; EntityPlayer player = event.getEntityPlayer(); ModelBiped modelBiped = event.getRenderer().getMainModel(); - EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player; + EntityPlayerSP clientPlayer = Minecraft.getMinecraft().thePlayer; ItemStack stack = player.getHeldItemMainhand(); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + if (stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { Block block = ItemTile.getBlock(stack); IBlockState state = ItemTile.getBlockState(stack); @@ -181,7 +181,7 @@ public class RenderEvents ItemStack tileItem = ItemTile.getItemStack(stack); - EntityItem entityItem = new EntityItem(Minecraft.getMinecraft().world, 0, 0, 0); + EntityItem entityItem = new EntityItem(Minecraft.getMinecraft().theWorld, 0, 0, 0); entityItem.hoverStart = 0; entityItem.setEntityItemStack(tileItem); @@ -211,7 +211,7 @@ public class RenderEvents GlStateManager.translate(0, -0.3, 0); IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag) : Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tileItem, world, player); - Minecraft.getMinecraft().getRenderItem().renderItem(tileItem.isEmpty() ? stack : tileItem, model); + Minecraft.getMinecraft().getRenderItem().renderItem(tileItem == null ? stack : tileItem, model); GlStateManager.scale(1, 1, 1); @@ -233,11 +233,11 @@ public class RenderEvents AbstractClientPlayer aplayer = (AbstractClientPlayer) player; ItemStack stack = player.getHeldItemMainhand(); ModelBiped model = event.getRenderer().getMainModel(); - EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player; + EntityPlayerSP clientPlayer = Minecraft.getMinecraft().thePlayer; ResourceLocation skinLoc = DefaultPlayerSkin.getDefaultSkin(player.getPersistentID()); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + if (stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { model.bipedLeftArm.isHidden = true; model.bipedRightArm.isHidden = true; diff --git a/src/main/java/tschipp/carryon/client/gui/GuiFactoryCarryOn.java b/src/main/java/tschipp/carryon/client/gui/GuiFactoryCarryOn.java index dd74b43..16b8daf 100644 --- a/src/main/java/tschipp/carryon/client/gui/GuiFactoryCarryOn.java +++ b/src/main/java/tschipp/carryon/client/gui/GuiFactoryCarryOn.java @@ -29,6 +29,7 @@ public class GuiFactoryCarryOn implements IModGuiFactory } + /* @Override public boolean hasConfigGui() { @@ -40,7 +41,7 @@ public class GuiFactoryCarryOn implements IModGuiFactory { return new GuiConfigCarryOn(parentScreen); - } + } */ diff --git a/src/main/java/tschipp/carryon/common/config/Configs.java b/src/main/java/tschipp/carryon/common/config/Configs.java index f7e817d..0b3692b 100644 --- a/src/main/java/tschipp/carryon/common/config/Configs.java +++ b/src/main/java/tschipp/carryon/common/config/Configs.java @@ -16,7 +16,6 @@ public class Configs { public static class ForbiddenTiles { - @Config.RequiresMcRestart() @Comment("Tile Entities that cannot be picked up") public String[] forbiddenTiles = new String[] { @@ -49,7 +48,6 @@ public class Configs { public static class ModelOverrides { - @Config.RequiresMcRestart() @Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!") public String[] modelOverrides = new String[] { diff --git a/src/main/java/tschipp/carryon/common/event/ItemEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEvents.java index f119d98..6e7ce51 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEvents.java @@ -30,7 +30,7 @@ public class ItemEvents { EntityPlayer player = event.getEntityPlayer(); ItemStack stack = player.getHeldItemMainhand(); - if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) + if (stack != null && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) { event.setUseBlock(Result.DENY); } @@ -69,7 +69,7 @@ public class ItemEvents tile.readFromNBT(ItemTile.getTileData(stack)); tile.setPos(finalPos); ItemTile.clearTileData(stack); - eitem.setEntityItemStack(ItemStack.EMPTY); + eitem.setEntityItemStack(null); } } } @@ -86,7 +86,7 @@ public class ItemEvents Block block = world.getBlockState(pos).getBlock(); IBlockState state = world.getBlockState(pos); - if (main.isEmpty() && off.isEmpty() && player.isSneaking() && !ForbiddenTileHandler.isForbidden(block)) + if (main == null && off == null && player.isSneaking() && !ForbiddenTileHandler.isForbidden(block)) { ItemStack stack = new ItemStack(RegistrationHandler.itemTile); diff --git a/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java b/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java index 909e6e5..b3ce624 100644 --- a/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java +++ b/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java @@ -90,9 +90,8 @@ public class ModelOverridesHandler if (override.contains(":")) modidOverride = override.replace(override.substring(override.indexOf(":")), ""); - if (Loader.isModLoaded(modidOverride) && Loader.isModLoaded(modidToOverride)) + if ((Loader.isModLoaded(modidOverride) && Loader.isModLoaded(modidToOverride)) || (modidOverride.equals("minecraft") && modidToOverride.equals("minecraft"))) { - int meta = StringParser.getMeta(toOverride); if (meta == 0) toOverrideObject = StringParser.getBlock(toOverride); @@ -100,7 +99,7 @@ public class ModelOverridesHandler toOverrideObject = StringParser.getBlockState(toOverride); overrideObject = StringParser.getItem(override); - if (Block.getBlockFromItem((Item) overrideObject) != Blocks.AIR) + if (Block.getBlockFromItem((Item) overrideObject) != null) overrideObject = StringParser.getItemStack(override); else overrideObject = StringParser.getBlockState(override); diff --git a/src/main/java/tschipp/carryon/common/helper/StringParser.java b/src/main/java/tschipp/carryon/common/helper/StringParser.java index 8aec2c8..088e2a4 100644 --- a/src/main/java/tschipp/carryon/common/helper/StringParser.java +++ b/src/main/java/tschipp/carryon/common/helper/StringParser.java @@ -13,6 +13,7 @@ import net.minecraft.nbt.NBTTagCompound; public class StringParser { + @Nullable public static Block getBlock(String string) { NBTTagCompound tag = getTagCompound(string); diff --git a/src/main/java/tschipp/carryon/common/item/ItemTile.java b/src/main/java/tschipp/carryon/common/item/ItemTile.java index c406e71..de8cb6f 100644 --- a/src/main/java/tschipp/carryon/common/item/ItemTile.java +++ b/src/main/java/tschipp/carryon/common/item/ItemTile.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; +import javax.annotation.Nullable; + import net.minecraft.block.Block; import net.minecraft.block.BlockDirectional; import net.minecraft.block.BlockHorizontal; @@ -46,19 +48,23 @@ public class ItemTile extends Item @Override public String getItemStackDisplayName(ItemStack stack) { - if (hasTileData(stack)) + if (stack != null) { - return getItemStack(stack).getDisplayName(); + if (hasTileData(stack)) + { + ItemStack contained = getItemStack(stack); + if (contained != null) + return contained.getDisplayName(); + } } return ""; } @Override - public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { Block block = world.getBlockState(pos).getBlock(); - ItemStack stack = player.getHeldItem(hand); if (hasTileData(stack)) { Vec3d vec = player.getLookVec(); @@ -78,21 +84,23 @@ public class ItemTile extends Item if (canPlace) { - if (player.canPlayerEdit(pos, facing, stack) && world.mayPlace(containedblock, pos2, false, facing, (Entity) null)) + boolean canEdit = player.canPlayerEdit(pos2, facing, stack); + boolean canBePlaced = world.canBlockBePlaced(containedblock, pos2, false, facing, (Entity) null, null); + if (canEdit && canBePlaced) { boolean hasDirection = false; boolean hasAllDirection = false; - - Iterator> iterator = containedblock.getDefaultState().getPropertyKeys().iterator(); + + Iterator> iterator = containedblock.getDefaultState().getPropertyNames().iterator(); while (iterator.hasNext()) { IProperty prop = iterator.next(); Object[] allowedValues = prop.getAllowedValues().toArray(); - + if (prop instanceof PropertyDirection && this.equal(allowedValues, EnumFacing.HORIZONTALS)) hasDirection = true; - - if(prop instanceof PropertyDirection && this.equal(allowedValues, EnumFacing.VALUES)) + + if (prop instanceof PropertyDirection && this.equal(allowedValues, EnumFacing.VALUES)) { hasAllDirection = true; facing2 = EnumFacing.getFacingFromVector((float) vec.xCoord, (float) vec.yCoord, (float) vec.zCoord); @@ -100,7 +108,7 @@ public class ItemTile extends Item } - if(hasAllDirection) + if (hasAllDirection) world.setBlockState(pos2, containedstate.withProperty(BlockDirectional.FACING, facing2.getOpposite())); else if (hasDirection) world.setBlockState(pos2, containedstate.withProperty(BlockHorizontal.FACING, facing2.getOpposite())); @@ -115,7 +123,7 @@ public class ItemTile extends Item } clearTileData(stack); player.playSound(containedblock.getSoundType().getPlaceSound(), 1.0f, 0.5f); - player.setHeldItem(hand, ItemStack.EMPTY); + player.setHeldItem(hand, null); return EnumActionResult.SUCCESS; } @@ -139,7 +147,7 @@ public class ItemTile extends Item } else { - stack = ItemStack.EMPTY; + stack = null; } } @@ -158,7 +166,7 @@ public class ItemTile extends Item if (tile == null) return false; - if (stack.isEmpty()) + if (stack == null) return false; NBTTagCompound chest = new NBTTagCompound(); @@ -171,7 +179,7 @@ public class ItemTile extends Item tag.setTag(TILE_DATA_KEY, chest); ItemStack drop = state.getBlock().getItem(tile.getWorld(), tile.getPos(), state); - + tag.setString("block", state.getBlock().getRegistryName().toString()); Item item = Item.getItemFromBlock(state.getBlock()); tag.setInteger("meta", drop.getItemDamage()); @@ -202,6 +210,7 @@ public class ItemTile extends Item return null; } + @Nullable public static Block getBlock(ItemStack stack) { if (stack.hasTagCompound()) @@ -210,7 +219,7 @@ public class ItemTile extends Item String name = tag.getString("block"); return Block.getBlockFromName(name); } - return Blocks.AIR; + return null; } public static int getMeta(ItemStack stack) @@ -226,9 +235,23 @@ public class ItemTile extends Item public static ItemStack getItemStack(ItemStack stack) { - return new ItemStack(getBlock(stack), 1, getMeta(stack)); + Block block = getBlock(stack); + if (block != null) + { + Item item = Item.getItemFromBlock(block); + if (item != null) + { + ItemStack ret = new ItemStack(item, 1, getMeta(stack)); + return ret; + } + + return null; + } + else + return null; + } - + public static IBlockState getBlockState(ItemStack stack) { if (stack.hasTagCompound()) @@ -239,12 +262,11 @@ public class ItemTile extends Item } return Blocks.AIR.getDefaultState(); } - - + public static boolean isLocked(BlockPos pos, World world) - { + { TileEntity te = world.getTileEntity(pos); - if(te != null) + if (te != null) { NBTTagCompound tag = new NBTTagCompound(); te.writeToNBT(tag); @@ -253,29 +275,29 @@ public class ItemTile extends Item return true; } - + private boolean equal(Object[] a, Object[] b) { if (a.length != b.length) return false; - + List lA = Arrays.asList(a); List lB = Arrays.asList(b); return lA.containsAll(lB); } - + private int potionLevel(ItemStack stack) { String nbt = getTileData(stack).toString(); int i = nbt.length() / 500; - - if(i > 4) + + if (i > 4) i = 4; - - if(!CarryOnConfig.settings.heavyTiles) + + if (!CarryOnConfig.settings.heavyTiles) i = 1; - + return i; } } diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 4177a47..7cdaae8 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -2,7 +2,7 @@ { "modid" : "carryon", "name" : "Carry On", - "version" : "1.0", "mcversion" : "1.11.2", + "version" : "1.0", "mcversion" : "1.10.2", "url" : "", "credits" : "Tschipp, Purplicious_Cow, cy4n", "authorList" : ["Tschipp, Purplicious_Cow, cy4n"],