From ea45a709ac63f2e9cb26e25a3c829571510e6973 Mon Sep 17 00:00:00 2001 From: Justin Aquadro Date: Mon, 21 Aug 2017 00:34:32 -0400 Subject: [PATCH] Protect against storage upgrades with illegal level values --- build.gradle | 2 +- .../minecraft/storagedrawers/block/BlockDrawers.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 9d67833..41a41a5 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "1.7.10-1.10.8" +version = "1.7.10-1.10.9" group= "com.jaquadro.minecraft.storagedrawers" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "StorageDrawers" diff --git a/src/com/jaquadro/minecraft/storagedrawers/block/BlockDrawers.java b/src/com/jaquadro/minecraft/storagedrawers/block/BlockDrawers.java index 0425034..25134be 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/block/BlockDrawers.java +++ b/src/com/jaquadro/minecraft/storagedrawers/block/BlockDrawers.java @@ -536,7 +536,7 @@ public class BlockDrawers extends BlockContainer implements IExtendedBlockClickH } private void dropItemStack (World world, int x, int y, int z, EntityPlayer player, ItemStack stack) { - EntityItem entity = new EntityItem(world, x + .5f, y + .1f, z + .5f, stack); + EntityItem entity = new EntityItem(world, x + .5f, y + .5f, z + .5f, stack); entity.addVelocity(-entity.motionX, -entity.motionY, -entity.motionZ); world.spawnEntityInWorld(entity); } @@ -804,6 +804,8 @@ public class BlockDrawers extends BlockContainer implements IExtendedBlockClickH if (level == 0) return null; + level = (level < 0 || level >= iconOverlayTrim.length) ? 0 : level; + return iconOverlayTrim[level]; } @@ -811,6 +813,7 @@ public class BlockDrawers extends BlockContainer implements IExtendedBlockClickH protected IIcon getIcon (IBlockAccess blockAccess, int x, int y, int z, int side, int level) { int meta = blockAccess.getBlockMetadata(x, y, z); meta = (meta < 0 || meta >= iconSide.length) ? 0 : meta; + level = (level < 0 || level >= iconOverlay.length) ? 0 : level; TileEntityDrawers tile = getTileEntity(blockAccess, x, y, z); if (tile == null || side == tile.getDirection()) {