From f546177ddcc6085bff71fcb187ddf6b730e52354 Mon Sep 17 00:00:00 2001 From: Samtrion Date: Wed, 27 Jun 2018 16:17:33 +0200 Subject: [PATCH] Fixed a minor problem with redudant calls to `world.getBlockState(pos)` (#1835) * Fixed minor performance issue with world.getBlockState(pos) * Removed redundant cast call * Update TilePortableGrid.java Unnecessary blank line removed * Removed some more redundant cast call * Removed Changelog entry * Undo Casts * Update BlockBase.java Undo casts * Undo Changes - CapabilityProviderEnergy --- .../apiimpl/network/node/NetworkNodeGrid.java | 8 ++++++-- .../network/node/storage/NetworkNodeFluidStorage.java | 8 ++++++-- .../apiimpl/network/node/storage/NetworkNodeStorage.java | 8 ++++++-- .../raoulvdberge/refinedstorage/tile/TileController.java | 7 +++++-- .../tile/grid/portable/TilePortableGrid.java | 8 ++++++-- .../com/raoulvdberge/refinedstorage/util/WorldUtils.java | 4 +++- 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java index 526316b7f..b14c2e366 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java @@ -29,6 +29,7 @@ import com.raoulvdberge.refinedstorage.item.ItemPattern; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.*; @@ -208,8 +209,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGridNetworkAware { } public GridType getType() { - if (type == null && world.getBlockState(pos).getBlock() == RSBlocks.GRID) { - type = (GridType) world.getBlockState(pos).getValue(BlockGrid.TYPE); + if (type == null) { + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == RSBlocks.GRID) { + type = (GridType) state.getValue(BlockGrid.TYPE); + } } return type == null ? GridType.NORMAL : type; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeFluidStorage.java index 14b3b5ddc..ba1541934 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeFluidStorage.java @@ -26,6 +26,7 @@ import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import com.raoulvdberge.refinedstorage.util.AccessTypeUtils; import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; @@ -172,8 +173,11 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage, } public FluidStorageType getType() { - if (type == null && world != null && world.getBlockState(pos).getBlock() == RSBlocks.FLUID_STORAGE) { - type = (FluidStorageType) world.getBlockState(pos).getValue(BlockFluidStorage.TYPE); + if (type == null && world != null) { + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == RSBlocks.FLUID_STORAGE) { + type = (FluidStorageType) state.getValue(BlockFluidStorage.TYPE); + } } return type == null ? FluidStorageType.TYPE_64K : type; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeStorage.java index bfb44c048..78113ec61 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/storage/NetworkNodeStorage.java @@ -26,6 +26,7 @@ import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import com.raoulvdberge.refinedstorage.util.AccessTypeUtils; import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; @@ -172,8 +173,11 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto } public ItemStorageType getType() { - if (type == null && world != null && world.getBlockState(pos).getBlock() == RSBlocks.STORAGE) { - type = (ItemStorageType) world.getBlockState(pos).getValue(BlockStorage.TYPE); + if (type == null && world != null) { + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == RSBlocks.STORAGE) { + type = (ItemStorageType) state.getValue(BlockStorage.TYPE); + } } return type == null ? ItemStorageType.TYPE_1K : type; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index 66d0a9b91..2b3e2e7d7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -638,8 +638,11 @@ public class TileController extends TileBase implements ITickable, INetwork, IRe } public ControllerType getType() { - if (type == null && world.getBlockState(pos).getBlock() == RSBlocks.CONTROLLER) { - this.type = (ControllerType) world.getBlockState(pos).getValue(BlockController.TYPE); + if (type == null) { + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == RSBlocks.CONTROLLER) { + this.type = (ControllerType) state.getValue(BlockController.TYPE); + } } return type == null ? ControllerType.NORMAL : type; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java index 61a20c460..feb98a778 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java @@ -41,6 +41,7 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; import com.raoulvdberge.refinedstorage.util.StackUtils; import com.raoulvdberge.refinedstorage.util.WorldUtils; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.InventoryCraftResult; @@ -184,8 +185,11 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid, } public PortableGridType getPortableType() { - if (type == null && world.getBlockState(pos).getBlock() == RSBlocks.PORTABLE_GRID) { - this.type = (PortableGridType) world.getBlockState(pos).getValue(BlockPortableGrid.TYPE); + if (type == null) { + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == RSBlocks.PORTABLE_GRID) { + this.type = (PortableGridType) state.getValue(BlockPortableGrid.TYPE); + } } return type == null ? PortableGridType.NORMAL : type; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/WorldUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/WorldUtils.java index 34e473a42..f39b09373 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/WorldUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/WorldUtils.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.util; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; @@ -22,7 +23,8 @@ import javax.annotation.Nullable; public final class WorldUtils { public static void updateBlock(@Nullable World world, BlockPos pos) { if (world != null) { - world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 1 | 2); + IBlockState state = world.getBlockState(pos); + world.notifyBlockUpdate(pos, state, state, 1 | 2); } }