diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java index 997639c52..874195225 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockAtomicReconstructor.java @@ -116,7 +116,7 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud if(tile instanceof TileEntityAtomicReconstructor){ ItemStack slot = ((TileEntityAtomicReconstructor)tile).getStackInSlot(0); String strg; - if(slot == null){ + if(!StackUtil.isValid(slot)){ strg = StringUtil.localize("info."+ModUtil.MOD_ID+".noLens"); } else{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java index eb5d2ce7f..58b047733 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockColoredLamp.java @@ -16,6 +16,7 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -72,7 +73,7 @@ public class BlockColoredLamp extends BlockBase{ return true; } - if(stack != null){ + if(StackUtil.isValid(stack)){ //Changing Colors int[] oreIDs = OreDictionary.getOreIDs(stack); if(oreIDs.length > 0){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java index 1d05b0faa..28f9b1910 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCompost.java @@ -89,13 +89,13 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ TileEntityCompost compost = (TileEntityCompost)tile; ItemStack slot = compost.getStackInSlot(0); CompostRecipe recipeIn = TileEntityCompost.getRecipeForInput(slot); - if(slot == null || recipeIn != null){ - if(stackPlayer != null){ + if(!StackUtil.isValid(slot) || recipeIn != null){ + if(StackUtil.isValid(stackPlayer)){ CompostRecipe recipeHand = TileEntityCompost.getRecipeForInput(stackPlayer); if(recipeHand != null && (recipeIn == null || recipeIn == recipeHand)){ int maxAdd = Math.min(StackUtil.getStackSize(recipeHand.input), StackUtil.getStackSize(stackPlayer)); - if(slot == null){ + if(!StackUtil.isValid(slot)){ ItemStack stackToAdd = stackPlayer.copy(); stackToAdd = StackUtil.setStackSize(stackToAdd, maxAdd); compost.setInventorySlotContents(0, stackToAdd); @@ -116,7 +116,7 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ } } else{ - if(stackPlayer == null){ + if(!StackUtil.isValid(stackPlayer)){ player.inventory.setInventorySlotContents(player.inventory.currentItem, slot.copy()); compost.setInventorySlotContents(0, null); return true; @@ -163,7 +163,7 @@ public class BlockCompost extends BlockContainerBase implements IHudDisplay{ if(tile instanceof TileEntityCompost){ ItemStack slot = ((TileEntityCompost)tile).getStackInSlot(0); String strg; - if(slot == null){ + if(!StackUtil.isValid(slot)){ strg = "Empty"; } else{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java index e6f62a4eb..3cf768f30 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCrystal.java @@ -33,7 +33,7 @@ public class BlockCrystal extends BlockBase{ public static final TheCrystals[] ALL_CRYSTALS = TheCrystals.values(); private static final PropertyInteger META = PropertyInteger.create("meta", 0, ALL_CRYSTALS.length-1); - private boolean isEmpowered; + private final boolean isEmpowered; public BlockCrystal(String name, boolean isEmpowered){ super(Material.ROCK, name); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDistributorItem.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDistributorItem.java index 0a366b125..37bd609a5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDistributorItem.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockDistributorItem.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDistributorItem; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; @@ -59,7 +60,7 @@ public class BlockDistributorItem extends BlockContainerBase implements IHudDisp ItemStack slot = distributor.getStackInSlot(0); String strg; - if(slot == null){ + if(!StackUtil.isValid(slot)){ strg = StringUtil.localize("info."+ModUtil.MOD_ID+".noItem"); } else{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGiantChest.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGiantChest.java index 1f3f7dac6..58987855d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGiantChest.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockGiantChest.java @@ -19,6 +19,7 @@ import de.ellpeck.actuallyadditions.mod.tile.TileEntityGiantChest; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGiantChestLarge; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGiantChestMedium; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; @@ -129,7 +130,7 @@ public class BlockGiantChest extends BlockContainerBase{ //Destroy the keeper if(i != place){ NBTTagCompound compound = new NBTTagCompound(); - if(slots[i] != null){ + if(StackUtil.isValid(slots[i])){ slots[i].writeToNBT(compound); } list.appendTag(compound); @@ -138,7 +139,7 @@ public class BlockGiantChest extends BlockContainerBase{ if(list.tagCount() > 0){ ItemStack stackInQuestion = drops.get(0); - if(stackInQuestion != null){ + if(StackUtil.isValid(stackInQuestion)){ if(stackInQuestion.getTagCompound() == null){ stackInQuestion.setTagCompound(new NBTTagCompound()); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java index d697f8399..0b95a4b38 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockLaserRelay.java @@ -195,7 +195,7 @@ public class BlockLaserRelay extends BlockContainerBase implements IHudDisplay{ minecraft.fontRendererObj.drawStringWithShadow(strg, resolution.getScaledWidth()/2+5, resolution.getScaledHeight()/2+5, StringUtil.DECIMAL_COLOR_WHITE); String expl; - if(stack != null && stack.getItem() instanceof ItemCompass){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemCompass){ expl = TextFormatting.GREEN+"Right-Click to increase! \nSneak-Right-Click to decrease!"; } else{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPlayerInterface.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPlayerInterface.java index bdd34e022..3fe01d866 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPlayerInterface.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPlayerInterface.java @@ -53,7 +53,7 @@ public class BlockPlayerInterface extends BlockContainerBase implements IHudDisp @Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ TileEntity tile = world.getTileEntity(pos); - if(tile != null && tile instanceof TileEntityPlayerInterface){ + if(tile instanceof TileEntityPlayerInterface){ TileEntityPlayerInterface face = (TileEntityPlayerInterface)tile; if(face.connectedPlayer == null){ face.connectedPlayer = player.getUniqueID(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTinyTorch.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTinyTorch.java index bc312759f..f7da7d120 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTinyTorch.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockTinyTorch.java @@ -182,8 +182,8 @@ public class BlockTinyTorch extends BlockBase{ if(enumfacing.getAxis().isHorizontal()){ EnumFacing enumfacing1 = enumfacing.getOpposite(); - worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0+0.35D*(double)enumfacing1.getFrontOffsetX(), d1+0.22D, d2+0.35D*(double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D, new int[0]); - worldIn.spawnParticle(EnumParticleTypes.FLAME, d0+0.35D*(double)enumfacing1.getFrontOffsetX(), d1+0.22D, d2+0.35D*(double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D, new int[0]); + worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0+0.35D*(double)enumfacing1.getFrontOffsetX(), d1+0.22D, d2+0.35D*(double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D); + worldIn.spawnParticle(EnumParticleTypes.FLAME, d0+0.35D*(double)enumfacing1.getFrontOffsetX(), d1+0.22D, d2+0.35D*(double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D); } else{ worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0, d1, d2, 0.0D, 0.0D, 0.0D); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java index 3d5a8dbe7..295be905f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java @@ -201,7 +201,7 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB } protected boolean checkFailUseItemOnTank(EntityPlayer player, ItemStack heldItem, FluidTank tank){ - return heldItem == null || !FluidUtil.interactWithFluidHandler(heldItem, tank, player); + return !StackUtil.isValid(heldItem) || !FluidUtil.interactWithFluidHandler(heldItem, tank, player); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderDisplayStand.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderDisplayStand.java index 2cf52d223..0b8650f2a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderDisplayStand.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderDisplayStand.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.blocks.render; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDisplayStand; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -29,7 +30,7 @@ public class RenderDisplayStand extends TileEntitySpecialRenderer{ } ItemStack stack = ((TileEntityDisplayStand)tile).getStackInSlot(0); - if(stack != null){ + if(StackUtil.isValid(stack)){ GlStateManager.pushMatrix(); GlStateManager.translate((float)x+0.5F, (float)y+1F, (float)z+0.5F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderEmpowerer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderEmpowerer.java index 05b3f8635..1af2f5cca 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderEmpowerer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderEmpowerer.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.blocks.render; import de.ellpeck.actuallyadditions.mod.tile.TileEntityEmpowerer; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -29,7 +30,7 @@ public class RenderEmpowerer extends TileEntitySpecialRenderer{ } ItemStack stack = ((TileEntityEmpowerer)tile).getStackInSlot(0); - if(stack != null){ + if(StackUtil.isValid(stack)){ GlStateManager.pushMatrix(); GlStateManager.translate((float)x+0.5F, (float)y+1F, (float)z+0.5F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java index 1d80651d3..916cd36bf 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderReconstructorLens.java @@ -14,6 +14,7 @@ package de.ellpeck.actuallyadditions.mod.blocks.render; import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.mod.tile.TileEntityAtomicReconstructor; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -29,7 +30,7 @@ public class RenderReconstructorLens extends TileEntitySpecialRenderer{ } ItemStack stack = ((TileEntityAtomicReconstructor)tile).getStackInSlot(0); - if(stack != null && stack.getItem() instanceof ILensItem){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ILensItem){ GlStateManager.pushMatrix(); GlStateManager.translate((float)x+0.5F, (float)y-0.5F, (float)z+0.5F); GlStateManager.rotate(180F, 0.0F, 0.0F, 1.0F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/BookmarkButton.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/BookmarkButton.java index d1868401c..a48b8ad98 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/BookmarkButton.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/BookmarkButton.java @@ -16,6 +16,7 @@ import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet; import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiPage; import de.ellpeck.actuallyadditions.mod.booklet.misc.BookletUtils; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; @@ -77,7 +78,7 @@ public class BookmarkButton extends GuiButton{ if(this.assignedPage != null){ ItemStack display = this.assignedPage.getChapter().getDisplayItemStack(); - if(display != null){ + if(StackUtil.isValid(display)){ GlStateManager.pushMatrix(); AssetUtil.renderStackToGui(display, this.xPosition+2, this.yPosition+1, 0.725F); GlStateManager.popMatrix(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/EntryButton.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/EntryButton.java index 412141725..3a71f592a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/EntryButton.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/button/EntryButton.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.booklet.button; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -40,7 +41,7 @@ public class EntryButton extends GuiButton{ this.mouseDragged(minecraft, mouseX, mouseY); int textOffsetX = 0; - if(this.stackToRender != null){ + if(StackUtil.isValid(this.stackToRender)){ GlStateManager.pushMatrix(); AssetUtil.renderStackToGui(this.stackToRender, this.xPosition-4, this.yPosition, 0.725F); GlStateManager.popMatrix(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapter.java index d2be30c3f..31094444b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapter.java @@ -10,7 +10,6 @@ package de.ellpeck.actuallyadditions.mod.booklet.chapter; -import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.booklet.IBookletChapter; import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry; import de.ellpeck.actuallyadditions.api.booklet.IBookletPage; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapterCrusher.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapterCrusher.java index 305e5dfe9..b3e63b62e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapterCrusher.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/chapter/BookletChapterCrusher.java @@ -13,7 +13,6 @@ package de.ellpeck.actuallyadditions.mod.booklet.chapter; import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry; import de.ellpeck.actuallyadditions.api.booklet.IBookletPage; import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe; -import de.ellpeck.actuallyadditions.mod.booklet.page.BookletPage; import de.ellpeck.actuallyadditions.mod.booklet.page.PageCrusherRecipe; import de.ellpeck.actuallyadditions.mod.crafting.CrusherCrafting; import net.minecraft.item.ItemStack; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/entry/BookletEntry.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/entry/BookletEntry.java index bfb62076f..aa7eb269f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/entry/BookletEntry.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/entry/BookletEntry.java @@ -14,8 +14,8 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.booklet.IBookletChapter; import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry; import de.ellpeck.actuallyadditions.api.booklet.IBookletPage; -import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; @@ -41,6 +41,41 @@ public class BookletEntry implements IBookletEntry{ this.color = TextFormatting.RESET; } + @SideOnly(Side.CLIENT) + private static boolean fitsFilter(IBookletPage page, String searchBarText){ + Minecraft mc = Minecraft.getMinecraft(); + + List items = new ArrayList(); + page.getItemStacksForPage(items); + if(!items.isEmpty()){ + for(ItemStack stack : items){ + if(StackUtil.isValid(stack)){ + List tooltip = stack.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips); + for(String strg : tooltip){ + if(strg != null && strg.toLowerCase(Locale.ROOT).contains(searchBarText)){ + return true; + } + } + } + } + } + + List fluids = new ArrayList(); + page.getFluidStacksForPage(fluids); + if(!fluids.isEmpty()){ + for(FluidStack stack : fluids){ + if(stack != null){ + String strg = stack.getLocalizedName(); + if(strg != null && strg.toLowerCase(Locale.ROOT).contains(searchBarText)){ + return true; + } + } + } + } + + return false; + } + @Override public List getAllChapters(){ return this.chapters; @@ -94,41 +129,6 @@ public class BookletEntry implements IBookletEntry{ } } - @SideOnly(Side.CLIENT) - private static boolean fitsFilter(IBookletPage page, String searchBarText){ - Minecraft mc = Minecraft.getMinecraft(); - - List items = new ArrayList(); - page.getItemStacksForPage(items); - if(!items.isEmpty()){ - for(ItemStack stack : items){ - if(stack != null){ - List tooltip = stack.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips); - for(String strg : tooltip){ - if(strg != null && strg.toLowerCase(Locale.ROOT).contains(searchBarText)){ - return true; - } - } - } - } - } - - List fluids = new ArrayList(); - page.getFluidStacksForPage(fluids); - if(!fluids.isEmpty()){ - for(FluidStack stack : fluids){ - if(stack != null){ - String strg = stack.getLocalizedName(); - if(strg != null && strg.toLowerCase(Locale.ROOT).contains(searchBarText)){ - return true; - } - } - } - } - - return false; - } - public BookletEntry setImportant(){ this.color = TextFormatting.DARK_GREEN; return this; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiBooklet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiBooklet.java index ccae3944a..7dbe49f4f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiBooklet.java @@ -41,21 +41,17 @@ public abstract class GuiBooklet extends GuiBookletBase{ public static final int BUTTONS_PER_PAGE = 12; public static final ResourceLocation RES_LOC_GUI = AssetUtil.getBookletGuiLocation("guiBooklet"); public static final ResourceLocation RES_LOC_GADGETS = AssetUtil.getBookletGuiLocation("guiBookletGadgets"); - + protected final BookmarkButton[] bookmarkButtons = new BookmarkButton[12]; public GuiScreen previousScreen; public GuiBookletBase parentPage; - - private GuiButton buttonLeft; - private GuiButton buttonRight; - private GuiButton buttonBack; - protected final BookmarkButton[] bookmarkButtons = new BookmarkButton[12]; - public GuiTextField searchField; - protected int xSize; protected int ySize; protected int guiLeft; protected int guiTop; + private GuiButton buttonLeft; + private GuiButton buttonRight; + private GuiButton buttonBack; public GuiBooklet(GuiScreen previousScreen, GuiBookletBase parentPage){ this.previousScreen = previousScreen; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiPage.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiPage.java index 807180dc1..c3b3f06f7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiPage.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/gui/GuiPage.java @@ -29,9 +29,9 @@ import java.util.List; @SideOnly(Side.CLIENT) public class GuiPage extends GuiBooklet{ - private int pageTimer; - private final List itemDisplays = new ArrayList(); public final IBookletPage[] pages = new IBookletPage[2]; + private final List itemDisplays = new ArrayList(); + private int pageTimer; public GuiPage(GuiScreen previousScreen, GuiBookletBase parentPage, IBookletPage page1, IBookletPage page2){ super(previousScreen, parentPage); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/BookletPage.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/BookletPage.java index dc9449d06..6822208f8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/BookletPage.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/BookletPage.java @@ -30,14 +30,12 @@ import java.util.Map; public class BookletPage implements IBookletPage{ - protected IBookletChapter chapter; - - private final List itemsForPage = new ArrayList(); - private final List fluidsForPage = new ArrayList(); - - protected boolean hasNoText; protected final HashMap textReplacements = new HashMap(); protected final int localizationKey; + private final List itemsForPage = new ArrayList(); + private final List fluidsForPage = new ArrayList(); + protected IBookletChapter chapter; + protected boolean hasNoText; public BookletPage(int localizationKey){ this.localizationKey = localizationKey; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/ItemDisplay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/ItemDisplay.java index e0402a713..d2b1d1e24 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/ItemDisplay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/ItemDisplay.java @@ -19,7 +19,6 @@ import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemStack; import net.minecraft.util.text.TextFormatting; @@ -31,13 +30,12 @@ import java.util.List; public class ItemDisplay{ - private final GuiPage gui; public final int x; public final int y; public final float scale; - - public ItemStack stack; + private final GuiPage gui; private final IBookletPage page; + public ItemStack stack; public ItemDisplay(GuiPage gui, int x, int y, float scale, ItemStack stack, boolean shouldTryTransfer){ this.gui = gui; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageCrafting.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageCrafting.java index 07de4c74c..cb6d98bf4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageCrafting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageCrafting.java @@ -16,7 +16,6 @@ import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.Util; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.ShapedRecipes; @@ -33,10 +32,10 @@ import java.util.List; public class PageCrafting extends BookletPage{ + private final List recipes; private int recipeAt; private String recipeTypeLocKey; private boolean isWildcard; - private final List recipes; public PageCrafting(int localizationKey, List recipes){ super(localizationKey); @@ -103,7 +102,7 @@ public class PageCrafting extends BookletPage{ for(IRecipe recipe : this.recipes){ if(recipe != null){ ItemStack output = recipe.getRecipeOutput(); - if(output != null){ + if(StackUtil.isValid(output)){ ItemStack copy = output.copy(); if(this.isWildcard){ copy.setItemDamage(Util.WILDCARD); @@ -146,7 +145,7 @@ public class PageCrafting extends BookletPage{ for(int i = 0; i < shaped.getInput().length; i++){ Object input = shaped.getInput()[i]; if(input != null){ - stacks[i] = input instanceof ItemStack ? (ItemStack)input : (((List)input).isEmpty() ? null : ((List)input).get(0)); + stacks[i] = input instanceof ItemStack ? (ItemStack)input : (((List)input).isEmpty() ? StackUtil.getNull() : ((List)input).get(0)); } } this.recipeTypeLocKey = "booklet."+ModUtil.MOD_ID+".shapedOreRecipe"; @@ -155,7 +154,7 @@ public class PageCrafting extends BookletPage{ ShapelessOreRecipe shapeless = (ShapelessOreRecipe)recipe; for(int i = 0; i < shapeless.getInput().size(); i++){ Object input = shapeless.getInput().get(i); - stacks[i] = input instanceof ItemStack ? (ItemStack)input : (((List)input).isEmpty() ? null : ((List)input).get(0)); + stacks[i] = input instanceof ItemStack ? (ItemStack)input : (((List)input).isEmpty() ? StackUtil.getNull() : ((List)input).get(0)); } this.recipeTypeLocKey = "booklet."+ModUtil.MOD_ID+".shapelessOreRecipe"; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageFurnace.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageFurnace.java index a73dc1e13..ce37f479d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageFurnace.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageFurnace.java @@ -30,6 +30,15 @@ public class PageFurnace extends BookletPage{ this.input = getInputForOutput(output); } + private static ItemStack getInputForOutput(ItemStack output){ + for(Map.Entry entry : FurnaceRecipes.instance().getSmeltingList().entrySet()){ + if(entry.getValue().isItemEqual(output)){ + return entry.getKey(); + } + } + return null; + } + @Override public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){ super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks); @@ -50,15 +59,6 @@ public class PageFurnace extends BookletPage{ gui.addOrModifyItemRenderer(this.output, startX+23+59, startY+10+5, 1F, false); } - private static ItemStack getInputForOutput(ItemStack output){ - for(Map.Entry entry : FurnaceRecipes.instance().getSmeltingList().entrySet()){ - if(entry.getValue().isItemEqual(output)){ - return entry.getKey(); - } - } - return null; - } - @Override public void getItemStacksForPage(List list){ super.getItemStacksForPage(list); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageTextOnly.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageTextOnly.java index 87c391676..8e402e6e0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageTextOnly.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageTextOnly.java @@ -11,7 +11,6 @@ package de.ellpeck.actuallyadditions.mod.booklet.page; import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase; -import net.minecraft.client.renderer.GlStateManager; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -21,13 +20,6 @@ public class PageTextOnly extends BookletPage{ super(localizationKey); } - @Override - @SideOnly(Side.CLIENT) - public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){ - super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks); - renderTextToPage(gui, this, startX+6, startY+5); - } - @SideOnly(Side.CLIENT) public static void renderTextToPage(GuiBookletBase gui, BookletPage page, int x, int y){ String text = page.getInfoText(); @@ -35,4 +27,11 @@ public class PageTextOnly extends BookletPage{ gui.renderSplitScaledAsciiString(text, x, y, 0, false, 0.75F, 120); } } + + @Override + @SideOnly(Side.CLIENT) + public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){ + super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks); + renderTextToPage(gui, this, startX+6, startY+5); + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShaped.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShaped.java index a4619b462..112e8fadc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShaped.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShaped.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.crafting; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.ShapedOreRecipe; @@ -27,7 +28,7 @@ public class RecipeKeepDataShaped extends ShapedOreRecipe{ @Override public ItemStack getCraftingResult(InventoryCrafting inventory){ ItemStack stack = super.getCraftingResult(inventory); - if(stack != null){ + if(StackUtil.isValid(stack)){ for(int i = 0; i < inventory.getSizeInventory(); i++){ ItemStack input = inventory.getStackInSlot(i); if(ItemUtil.areItemsEqual(this.nbtCopyStack, input, true)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShapeless.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShapeless.java index eb1f1359c..03781c9d4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShapeless.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeKeepDataShapeless.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.crafting; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.ShapelessOreRecipe; @@ -27,7 +28,7 @@ public class RecipeKeepDataShapeless extends ShapelessOreRecipe{ @Override public ItemStack getCraftingResult(InventoryCrafting inventory){ ItemStack stack = super.getCraftingResult(inventory); - if(stack != null){ + if(StackUtil.isValid(stack)){ for(int i = 0; i < inventory.getSizeInventory(); i++){ ItemStack input = inventory.getStackInSlot(i); if(ItemUtil.areItemsEqual(this.nbtCopyStack, input, true)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java b/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java index f9dc78ae2..813bcdca1 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/event/ClientEvents.java @@ -17,6 +17,7 @@ import de.ellpeck.actuallyadditions.mod.inventory.gui.EnergyDisplay; import de.ellpeck.actuallyadditions.mod.tile.IEnergyDisplay; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockRedstoneTorch; @@ -54,7 +55,7 @@ public class ClientEvents{ @SubscribeEvent public void onTooltipEvent(ItemTooltipEvent event){ //Advanced Item Info - if(event.getItemStack() != null && event.getItemStack().getItem() != null){ + if(StackUtil.isValid(event.getItemStack())){ if(ConfigBoolValues.CTRL_EXTRA_INFO.isEnabled()){ if(GuiScreen.isCtrlKeyDown()){ event.getToolTip().add(TextFormatting.DARK_GRAY+""+TextFormatting.ITALIC+StringUtil.localize("tooltip."+ModUtil.MOD_ID+".extraInfo.desc")+":"); @@ -140,7 +141,7 @@ public class ClientEvents{ FontRenderer font = minecraft.fontRendererObj; ItemStack stack = player.getHeldItemMainhand(); - if(stack != null){ + if(StackUtil.isValid(stack)){ if(stack.getItem() instanceof IHudDisplay){ ((IHudDisplay)stack.getItem()).displayHud(minecraft, player, stack, posHit, event.getResolution()); } @@ -161,7 +162,7 @@ public class ClientEvents{ font.drawStringWithShadow(strg, event.getResolution().getScaledWidth()/2+5, event.getResolution().getScaledHeight()/2+5, StringUtil.DECIMAL_COLOR_WHITE); String expl; - if(stack != null && Block.getBlockFromItem(stack.getItem()) instanceof BlockRedstoneTorch){ + if(StackUtil.isValid(stack) && Block.getBlockFromItem(stack.getItem()) instanceof BlockRedstoneTorch){ expl = TextFormatting.GREEN+"Right-Click to toggle!"; } else{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java b/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java index 213972ca0..bc51ad523 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/event/CommonEvents.java @@ -20,6 +20,7 @@ import de.ellpeck.actuallyadditions.mod.misc.DungeonLoot; import de.ellpeck.actuallyadditions.mod.network.PacketHandlerHelper; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntitySpider; import net.minecraft.entity.player.EntityPlayer; @@ -79,7 +80,7 @@ public class CommonEvents{ checkAchievements(event.crafting, event.player, InitAchievements.Type.CRAFTING); if(ConfigBoolValues.GIVE_BOOKLET_ON_FIRST_CRAFT.isEnabled()){ - if(!event.player.worldObj.isRemote && event.crafting != null && event.crafting.getItem() != null && event.crafting.getItem() != InitItems.itemBooklet){ + if(!event.player.worldObj.isRemote && StackUtil.isValid(event.crafting) && event.crafting.getItem() != InitItems.itemBooklet){ String name = event.crafting.getItem().getRegistryName().toString(); if(name != null && name.toLowerCase(Locale.ROOT).contains(ModUtil.MOD_ID)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerBag.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerBag.java index 7b7193f46..250251169 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerBag.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerBag.java @@ -85,7 +85,7 @@ public class ContainerBag extends Container implements IButtonReactor{ } ItemStack stack = inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemBag){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemBag){ ItemDrill.loadSlotsFromNBT(this.bagInventory.slots, inventory.getCurrentItem()); if(stack.hasTagCompound()){ NBTTagCompound compound = stack.getTagCompound(); @@ -203,7 +203,7 @@ public class ContainerBag extends Container implements IButtonReactor{ @Override public void onContainerClosed(EntityPlayer player){ ItemStack stack = this.inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemBag){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemBag){ ItemDrill.writeSlotsToNBT(this.bagInventory.slots, this.inventory.getCurrentItem()); NBTTagCompound compound = stack.getTagCompound(); this.filter.writeToNBT(compound, "Filter"); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java index 7071c7888..b5f07bd01 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java @@ -109,7 +109,7 @@ public class ContainerCrafter extends Container{ if(!this.world.isRemote){ for(int i = 0; i < 9; ++i){ ItemStack stack = this.craftMatrix.removeStackFromSlot(i); - if(stack != null){ + if(StackUtil.isValid(stack)){ player.dropItem(stack, false); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerDrill.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerDrill.java index 82e51613a..668d7b142 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerDrill.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerDrill.java @@ -64,7 +64,7 @@ public class ContainerDrill extends Container{ } ItemStack stack = inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemDrill){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemDrill){ ItemDrill.loadSlotsFromNBT(this.drillInventory.slots, inventory.getCurrentItem()); } } @@ -135,7 +135,7 @@ public class ContainerDrill extends Container{ @Override public void onContainerClosed(EntityPlayer player){ ItemStack stack = this.inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemDrill){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemDrill){ ItemDrill.writeSlotsToNBT(this.drillInventory.slots, this.inventory.getCurrentItem()); } super.onContainerClosed(player); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java index 04bca09b0..0d6da3702 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnergizer.java @@ -59,7 +59,7 @@ public class ContainerEnergizer extends Container{ @Override public boolean isItemValid(ItemStack stack){ - return stack != null && stack.getItem().isValidArmor(stack, slot, player); + return StackUtil.isValid(stack) && stack.getItem().isValidArmor(stack, slot, player); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java index 0665aada5..e8051a9ff 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerEnervator.java @@ -58,7 +58,7 @@ public class ContainerEnervator extends Container{ @Override public boolean isItemValid(ItemStack stack){ - return stack != null && stack.getItem().isValidArmor(stack, slot, player); + return StackUtil.isValid(stack) && stack.getItem().isValidArmor(stack, slot, player); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFilter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFilter.java index 67b107818..a3d857e0d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFilter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFilter.java @@ -59,7 +59,7 @@ public class ContainerFilter extends Container{ } ItemStack stack = inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemFilter){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemFilter){ ItemDrill.loadSlotsFromNBT(this.filterInventory.slots, inventory.getCurrentItem()); } } @@ -128,7 +128,7 @@ public class ContainerFilter extends Container{ @Override public void onContainerClosed(EntityPlayer player){ ItemStack stack = this.inventory.getCurrentItem(); - if(stack != null && stack.getItem() instanceof ItemFilter){ + if(StackUtil.isValid(stack) && stack.getItem() instanceof ItemFilter){ ItemDrill.writeSlotsToNBT(this.filterInventory.slots, this.inventory.getCurrentItem()); } super.onContainerClosed(player); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFurnaceDouble.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFurnaceDouble.java index 4f2b84a04..3e781c463 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFurnaceDouble.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerFurnaceDouble.java @@ -67,7 +67,7 @@ public class ContainerFurnaceDouble extends Container{ //Other Slots in Inventory excluded else if(slot >= inventoryStart){ //Shift from Inventory - if(FurnaceRecipes.instance().getSmeltingResult(newStack) != null){ + if(StackUtil.isValid(FurnaceRecipes.instance().getSmeltingResult(newStack))){ if(!this.mergeItemStack(newStack, TileEntityFurnaceDouble.SLOT_INPUT_1, TileEntityFurnaceDouble.SLOT_INPUT_1+1, false)){ if(!this.mergeItemStack(newStack, TileEntityFurnaceDouble.SLOT_INPUT_2, TileEntityFurnaceDouble.SLOT_INPUT_2+1, false)){ return StackUtil.getNull(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java index 82e915bc6..358ec0f8c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java @@ -158,7 +158,7 @@ public class GuiHandler implements IGuiHandler{ case FLUID_COLLECTOR: return new GuiFluidCollector(player.inventory, tile); case COFFEE_MACHINE: - return new GuiCoffeeMachine(player.inventory, tile, x, y, z, world); + return new GuiCoffeeMachine(player.inventory, tile); case DRILL: return new GuiDrill(player.inventory); case FILTER: @@ -168,7 +168,7 @@ public class GuiHandler implements IGuiHandler{ case ENERVATOR: return new GuiEnervator(player, tile); case XP_SOLIDIFIER: - return new GuiXPSolidifier(player.inventory, tile, x, y, z, world); + return new GuiXPSolidifier(player.inventory, tile); case CLOUD: return new GuiSmileyCloud(tile, x, y, z, world); case BOOK: @@ -189,7 +189,7 @@ public class GuiHandler implements IGuiHandler{ case DIRECTIONAL_BREAKER: return new GuiDirectionalBreaker(player.inventory, tile); case RANGED_COLLECTOR: - return new GuiRangedCollector(player.inventory, tile, x, y, z, world); + return new GuiRangedCollector(player.inventory, tile); case MINER: return new GuiMiner(player.inventory, tile); case LASER_RELAY_ITEM_WHITELIST: diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java index 249bd9baf..ea43f81c4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java @@ -22,7 +22,6 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -34,23 +33,15 @@ public class GuiCoffeeMachine extends GuiContainer{ private static final ResourceLocation RES_LOC = AssetUtil.getGuiLocation("guiCoffeeMachine"); private final TileEntityCoffeeMachine machine; - private final int x; - private final int y; - private final int z; - private final World world; private EnergyDisplay energy; private FluidDisplay fluid; - public GuiCoffeeMachine(InventoryPlayer inventory, TileEntityBase tile, int x, int y, int z, World world){ + public GuiCoffeeMachine(InventoryPlayer inventory, TileEntityBase tile){ super(new ContainerCoffeeMachine(inventory, tile)); this.machine = (TileEntityCoffeeMachine)tile; this.xSize = 176; this.ySize = 93+86; - this.x = x; - this.y = y; - this.z = z; - this.world = world; } @Override @@ -79,10 +70,6 @@ public class GuiCoffeeMachine extends GuiContainer{ if(x >= this.guiLeft+16 && y >= this.guiTop+5 && x <= this.guiLeft+23 && y <= this.guiTop+89){ this.drawHoveringText(Collections.singletonList(text1), x, y); } - String text3 = StringUtil.getFluidInfo(this.machine.tank); - if(x >= this.guiLeft+27 && y >= this.guiTop+5 && x <= this.guiLeft+33 && y <= this.guiTop+70){ - this.drawHoveringText(Collections.singletonList(text3), x, y); - } String text2 = this.machine.coffeeCacheAmount+"/"+TileEntityCoffeeMachine.COFFEE_CACHE_MAX_AMOUNT+" "+StringUtil.localize("info."+ModUtil.MOD_ID+".gui.coffee"); if(x >= this.guiLeft+40 && y >= this.guiTop+25 && x <= this.guiLeft+49 && y <= this.guiTop+56){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java index e715aed73..0a02c3dcd 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java @@ -20,7 +20,6 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -29,22 +28,14 @@ public class GuiRangedCollector extends GuiContainer{ private static final ResourceLocation RES_LOC = AssetUtil.getGuiLocation("guiRangedCollector"); private final TileEntityRangedCollector collector; - private final int x; - private final int y; - private final int z; - private final World world; private FilterSettingsGui filter; - public GuiRangedCollector(InventoryPlayer inventory, TileEntityBase tile, int x, int y, int z, World world){ + public GuiRangedCollector(InventoryPlayer inventory, TileEntityBase tile){ super(new ContainerRangedCollector(inventory, tile)); this.collector = (TileEntityRangedCollector)tile; this.xSize = 176; this.ySize = 86+86; - this.x = x; - this.y = y; - this.z = z; - this.world = world; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiXPSolidifier.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiXPSolidifier.java index 93b309668..f72506304 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiXPSolidifier.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiXPSolidifier.java @@ -22,7 +22,6 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -31,20 +30,12 @@ public class GuiXPSolidifier extends GuiContainer{ private static final ResourceLocation RES_LOC = AssetUtil.getGuiLocation("guiXPSolidifier"); private final TileEntityXPSolidifier solidifier; - private final int x; - private final int y; - private final int z; - private final World world; - public GuiXPSolidifier(InventoryPlayer inventory, TileEntityBase tile, int x, int y, int z, World world){ + public GuiXPSolidifier(InventoryPlayer inventory, TileEntityBase tile){ super(new ContainerXPSolidifier(inventory, tile)); this.solidifier = (TileEntityXPSolidifier)tile; this.xSize = 176; this.ySize = 93+86; - this.x = x; - this.y = y; - this.z = z; - this.world = world; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/TexturedButton.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/TexturedButton.java index 7da75b69b..beaff3a2d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/TexturedButton.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/TexturedButton.java @@ -24,8 +24,8 @@ import java.util.List; @SideOnly(Side.CLIENT) public class TexturedButton extends GuiButton{ - private final ResourceLocation resLoc; public final List textList = new ArrayList(); + private final ResourceLocation resLoc; public int texturePosX; public int texturePosY; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/slot/SlotFilter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/slot/SlotFilter.java index 3d77d91ed..4cbb4521f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/slot/SlotFilter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/slot/SlotFilter.java @@ -33,12 +33,12 @@ public class SlotFilter extends Slot{ ItemStack heldStack = player.inventory.getItemStack(); //Delete the stack in the inventory - if(this.getStack() != null && heldStack == null){ - this.putStack(null); + if(StackUtil.isValid(this.getStack()) && !StackUtil.isValid(heldStack)){ + this.putStack(StackUtil.getNull()); } //Put the current Item as a filter else{ - if(heldStack != null){ + if(StackUtil.isValid(heldStack)){ ItemStack stack = heldStack.copy(); stack = StackUtil.setStackSize(stack, 1); this.putStack(stack); @@ -55,8 +55,7 @@ public class SlotFilter extends Slot{ @Override public void putStack(ItemStack stack){ - ItemStack theStack = (stack != null ? stack.copy() : null); - super.putStack(theStack); + super.putStack(StackUtil.validateCopy(stack)); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBag.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBag.java index 81089b0ae..32610782c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBag.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBag.java @@ -65,12 +65,12 @@ public class ItemBag extends ItemBase{ EntityItem item = event.getItem(); if(item != null && !item.isDead){ ItemStack stack = item.getEntityItem(); - if(stack != null && stack.getItem() != null){ + if(StackUtil.isValid(stack)){ for(int i = 0; i < player.inventory.getSizeInventory(); i++){ if(i != player.inventory.currentItem){ ItemStack invStack = player.inventory.getStackInSlot(i); - if(invStack != null && invStack.getItem() instanceof ItemBag && invStack.hasTagCompound()){ + if(StackUtil.isValid(invStack) && invStack.getItem() instanceof ItemBag && invStack.hasTagCompound()){ if(invStack.getTagCompound().getBoolean("AutoInsert")){ boolean changed = false; @@ -88,7 +88,7 @@ public class ItemBag extends ItemBase{ else{ for(int j = 4; j < inventory.length; j++){ ItemStack bagStack = inventory[j]; - if(bagStack != null){ + if(StackUtil.isValid(bagStack)){ if(ItemUtil.canBeStacked(bagStack, stack)){ int maxTransfer = Math.min(StackUtil.getStackSize(stack), stack.getMaxStackSize()-StackUtil.getStackSize(bagStack)); if(maxTransfer > 0){ @@ -145,14 +145,14 @@ public class ItemBag extends ItemBase{ for(int j = 4; j < inventory.length; j++){ ItemStack invStack = inventory[j]; - if(invStack != null){ + if(StackUtil.isValid(invStack)){ for(int i = 0; i < handler.getSlots(); i++){ ItemStack remain = handler.insertItem(i, invStack, false); if(!ItemStack.areItemStacksEqual(remain, invStack)){ - inventory[j] = remain == null ? null : remain.copy(); + inventory[j] = StackUtil.validateCopy(remain); changed = true; - if(remain == null){ + if(!StackUtil.isValid(remain)){ break; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java index a2fa6e2b5..4caa4a4da 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBattery.java @@ -14,6 +14,7 @@ import cofh.api.energy.IEnergyContainerItem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.compat.TeslaUtil; import net.darkhax.tesla.api.ITeslaConsumer; @@ -53,7 +54,7 @@ public class ItemBattery extends ItemEnergy{ EntityPlayer player = (EntityPlayer)entity; for(int i = 0; i < player.inventory.getSizeInventory(); i++){ ItemStack slot = player.inventory.getStackInSlot(i); - if(slot != null){ + if(StackUtil.isValid(slot)){ int received = 0; Item item = slot.getItem(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java index db817c383..1c8123bfe 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java @@ -19,6 +19,7 @@ import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; @@ -113,7 +114,7 @@ public class ItemBooklet extends ItemBase implements IHudDisplay{ String strg2 = "Page "+(page.getChapter().getPageIndex(page)+1); String strg3 = "Right-Click to open..."; - AssetUtil.renderStackToGui(page.getChapter().getDisplayItemStack() != null ? page.getChapter().getDisplayItemStack() : new ItemStack(InitItems.itemBooklet), resolution.getScaledWidth()/2-10, height+41, 1F); + AssetUtil.renderStackToGui(StackUtil.isValid(page.getChapter().getDisplayItemStack()) ? page.getChapter().getDisplayItemStack() : new ItemStack(InitItems.itemBooklet), resolution.getScaledWidth()/2-10, height+41, 1F); minecraft.fontRendererObj.drawStringWithShadow(TextFormatting.YELLOW+""+TextFormatting.ITALIC+strg1, resolution.getScaledWidth()/2-minecraft.fontRendererObj.getStringWidth(strg1)/2, height+20, StringUtil.DECIMAL_COLOR_WHITE); minecraft.fontRendererObj.drawStringWithShadow(TextFormatting.YELLOW+""+TextFormatting.ITALIC+strg2, resolution.getScaledWidth()/2-minecraft.fontRendererObj.getStringWidth(strg2)/2, height+30, StringUtil.DECIMAL_COLOR_WHITE); minecraft.fontRendererObj.drawStringWithShadow(TextFormatting.GOLD+strg3, resolution.getScaledWidth()/2-minecraft.fontRendererObj.getStringWidth(strg3)/2, height+60, StringUtil.DECIMAL_COLOR_WHITE); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java index 9d063d62d..f41e70d4f 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemChestToCrateUpgrade.java @@ -48,9 +48,9 @@ public class ItemChestToCrateUpgrade extends ItemBase{ ItemStack[] stacks = new ItemStack[chest.getSizeInventory()]; for(int i = 0; i < stacks.length; i++){ ItemStack aStack = chest.getStackInSlot(i); - if(aStack != null){ + if(StackUtil.isValid(aStack)){ stacks[i] = aStack.copy(); - chest.setInventorySlotContents(i, null); + chest.setInventorySlotContents(i, StackUtil.getNull()); } } @@ -63,7 +63,7 @@ public class ItemChestToCrateUpgrade extends ItemBase{ if(newTileHit instanceof IInventory){ IInventory newChest = (IInventory)newTileHit; for(int i = 0; i < stacks.length; i++){ - if(stacks[i] != null){ + if(StackUtil.isValid(stacks[i])){ if(newChest.getSizeInventory() > i){ newChest.setInventorySlotContents(i, stacks[i].copy()); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCrystal.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCrystal.java index 6b7739136..76634ed55 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCrystal.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemCrystal.java @@ -26,7 +26,7 @@ import java.util.List; public class ItemCrystal extends ItemBase{ - private boolean isEmpowered; + private final boolean isEmpowered; public ItemCrystal(String name, boolean isEmpowered){ super(name); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFillingWand.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFillingWand.java index 6a5d3579a..c6489255d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFillingWand.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFillingWand.java @@ -38,6 +38,52 @@ public class ItemFillingWand extends ItemEnergy{ super(800000, 2000, name); } + private static boolean removeFittingItem(IBlockState state, EntityPlayer player){ + Block block = state.getBlock(); + ItemStack stack = new ItemStack(block, 1, block.damageDropped(state)); + + if(StackUtil.isValid(stack)){ + for(int i = 0; i < player.inventory.getSizeInventory(); i++){ + ItemStack slot = player.inventory.getStackInSlot(i); + if(StackUtil.isValid(slot) && slot.isItemEqual(stack)){ + slot = StackUtil.addStackSize(slot, -1); + if(!StackUtil.isValid(slot)){ + player.inventory.setInventorySlotContents(i, StackUtil.getNull()); + } + + return true; + } + } + } + + return false; + } + + private static void saveBlock(IBlockState state, ItemStack stack){ + if(!stack.hasTagCompound()){ + stack.setTagCompound(new NBTTagCompound()); + } + NBTTagCompound compound = stack.getTagCompound(); + + Block block = state.getBlock(); + compound.setString("Block", block.getRegistryName().toString()); + compound.setInteger("Meta", block.getMetaFromState(state)); + } + + private static IBlockState loadBlock(ItemStack stack){ + if(stack.hasTagCompound()){ + NBTTagCompound compound = stack.getTagCompound(); + String blockName = compound.getString("Block"); + int meta = compound.getInteger("Meta"); + + Block block = Block.getBlockFromName(blockName); + if(block != null){ + return block.getStateFromMeta(meta); + } + } + return null; + } + @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ){ if(!world.isRemote && player.getItemInUseCount() <= 0){ @@ -200,52 +246,6 @@ public class ItemFillingWand extends ItemEnergy{ list.add("Selected Block: "+display); } - private static boolean removeFittingItem(IBlockState state, EntityPlayer player){ - Block block = state.getBlock(); - ItemStack stack = new ItemStack(block, 1, block.damageDropped(state)); - - if(StackUtil.isValid(stack)){ - for(int i = 0; i < player.inventory.getSizeInventory(); i++){ - ItemStack slot = player.inventory.getStackInSlot(i); - if(StackUtil.isValid(slot) && slot.isItemEqual(stack)){ - slot = StackUtil.addStackSize(slot, -1); - if(!StackUtil.isValid(slot)){ - player.inventory.setInventorySlotContents(i, StackUtil.getNull()); - } - - return true; - } - } - } - - return false; - } - - private static void saveBlock(IBlockState state, ItemStack stack){ - if(!stack.hasTagCompound()){ - stack.setTagCompound(new NBTTagCompound()); - } - NBTTagCompound compound = stack.getTagCompound(); - - Block block = state.getBlock(); - compound.setString("Block", block.getRegistryName().toString()); - compound.setInteger("Meta", block.getMetaFromState(state)); - } - - private static IBlockState loadBlock(ItemStack stack){ - if(stack.hasTagCompound()){ - NBTTagCompound compound = stack.getTagCompound(); - String blockName = compound.getString("Block"); - int meta = compound.getInteger("Meta"); - - Block block = Block.getBlockFromName(blockName); - if(block != null){ - return block.getStateFromMeta(meta); - } - } - return null; - } - @Override public int getMaxItemUseDuration(ItemStack stack){ return Integer.MAX_VALUE; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java index 6a5343bc5..03fd5a779 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.inventory.ContainerFilter; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; @@ -50,7 +51,7 @@ public class ItemFilter extends ItemBase{ ItemDrill.loadSlotsFromNBT(slots, stack); if(slots != null && slots.length > 0){ for(ItemStack slot : slots){ - if(slot != null && slot.getItem() != null){ + if(StackUtil.isValid(slot)){ tooltip.add(slot.getItem().getItemStackDisplayName(slot)); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java index a6542daa1..7c4d895e9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFoods.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.items.base.ItemFoodBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheFoods; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; @@ -44,7 +45,7 @@ public class ItemFoods extends ItemFoodBase{ public ItemStack onItemUseFinish(ItemStack stack, World world, EntityLivingBase player){ ItemStack stackToReturn = super.onItemUseFinish(stack, world, player); ItemStack returnItem = stack.getItemDamage() >= ALL_FOODS.length ? null : ALL_FOODS[stack.getItemDamage()].returnItem; - if(returnItem != null && player instanceof EntityPlayer){ + if(StackUtil.isValid(returnItem) && player instanceof EntityPlayer){ if(!((EntityPlayer)player).inventory.addItemStackToInventory(returnItem.copy())){ if(!world.isRemote){ EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem.copy()); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemGrowthRing.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemGrowthRing.java index 2ca9d7c13..a4d8515df 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemGrowthRing.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemGrowthRing.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockGrass; import net.minecraft.block.IGrowable; @@ -43,7 +44,7 @@ public class ItemGrowthRing extends ItemEnergy{ ItemStack equipped = player.getHeldItemMainhand(); int energyUse = 300; - if(equipped != null && equipped == stack && this.getEnergyStored(stack) >= energyUse){ + if(StackUtil.isValid(equipped) && equipped == stack && this.getEnergyStored(stack) >= energyUse){ List blocks = new ArrayList(); //Adding all possible Blocks diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPlayerProbe.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPlayerProbe.java index aa6805458..47b4ccc39 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPlayerProbe.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPlayerProbe.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.tile.TileEntityPlayerInterface; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -92,7 +93,7 @@ public class ItemPlayerProbe extends ItemBase{ public boolean itemInteractionForEntity(ItemStack aStack, EntityPlayer player, EntityLivingBase entity, EnumHand hand){ if(!player.worldObj.isRemote){ ItemStack stack = player.getHeldItemMainhand(); - if(stack != null && stack.getItem() == this){ + if(StackUtil.isValid(stack) && stack.getItem() == this){ if(entity instanceof EntityPlayer){ EntityPlayer playerHit = (EntityPlayer)entity; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPotionRing.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPotionRing.java index 85d2d651d..01a2deecb 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPotionRing.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemPotionRing.java @@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.items.metalists.ThePotionRings; import de.ellpeck.actuallyadditions.mod.util.IColorProvidingItem; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.creativetab.CreativeTabs; @@ -67,7 +68,7 @@ public class ItemPotionRing extends ItemBase implements IColorProvidingItem, IDi if(player instanceof EntityPlayer){ EntityPlayer thePlayer = (EntityPlayer)player; ItemStack equippedStack = thePlayer.getHeldItemMainhand(); - this.effectEntity(thePlayer, stack, equippedStack != null && stack == equippedStack); + this.effectEntity(thePlayer, stack, StackUtil.isValid(equippedStack) && stack == equippedStack); } } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWaterRemovalRing.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWaterRemovalRing.java index 21f0fb2a5..d4e866160 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWaterRemovalRing.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWaterRemovalRing.java @@ -12,6 +12,7 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -38,7 +39,7 @@ public class ItemWaterRemovalRing extends ItemEnergy{ ItemStack equipped = player.getHeldItemMainhand(); int energyUse = 350; - if(equipped != null && equipped == stack && this.getEnergyStored(stack) >= energyUse){ + if(StackUtil.isValid(equipped) && equipped == stack && this.getEnergyStored(stack) >= energyUse){ //Setting everything to air int range = 3; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java index a1a6e4b2e..77e363cd2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemWingsOfTheBats.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.items; import de.ellpeck.actuallyadditions.mod.config.values.ConfigBoolValues; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.entity.passive.EntityBat; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -90,11 +91,11 @@ public class ItemWingsOfTheBats extends ItemBase{ */ public static ItemStack getWingItem(EntityPlayer player){ for(int i = 0; i < player.inventory.getSizeInventory(); i++){ - if(player.inventory.getStackInSlot(i) != null && player.inventory.getStackInSlot(i).getItem() instanceof ItemWingsOfTheBats){ + if(StackUtil.isValid(player.inventory.getStackInSlot(i)) && player.inventory.getStackInSlot(i).getItem() instanceof ItemWingsOfTheBats){ return player.inventory.getStackInSlot(i); } } - return null; + return StackUtil.getNull(); } @SubscribeEvent @@ -120,7 +121,7 @@ public class ItemWingsOfTheBats extends ItemBase{ public void livingUpdateEvent(LivingEvent.LivingUpdateEvent event){ if(event.getEntityLiving() instanceof EntityPlayer){ EntityPlayer player = (EntityPlayer)event.getEntityLiving(); - boolean wingsEquipped = ItemWingsOfTheBats.getWingItem(player) != null; + boolean wingsEquipped = StackUtil.isValid(ItemWingsOfTheBats.getWingItem(player)); //If Player isn't (really) winged if(!ItemWingsOfTheBats.isPlayerWinged(player)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemToolAA.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemToolAA.java index 032e3f14a..1e1409135 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemToolAA.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemToolAA.java @@ -12,6 +12,7 @@ package de.ellpeck.actuallyadditions.mod.items.base; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; @@ -68,7 +69,7 @@ public class ItemToolAA extends ItemTool{ @Override public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ - if(this.repairItem != null){ + if(StackUtil.isValid(this.repairItem)){ return ItemUtil.areItemsEqual(this.repairItem, stack, false); } else if(this.repairOredict != null){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensColor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensColor.java index 06840a0e9..398f90a50 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensColor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensColor.java @@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.internal.IAtomicReconstructor; import de.ellpeck.actuallyadditions.api.lens.Lens; import de.ellpeck.actuallyadditions.api.recipe.IColorLensChanger; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; @@ -66,9 +67,9 @@ public class LensColor extends Lens{ ArrayList items = (ArrayList)tile.getWorldObject().getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(hitBlock.getX(), hitBlock.getY(), hitBlock.getZ(), hitBlock.getX()+1, hitBlock.getY()+1, hitBlock.getZ()+1)); for(EntityItem item : items){ - if(!item.isDead && item.getEntityItem() != null && tile.getEnergy() >= ENERGY_USE){ + if(!item.isDead && StackUtil.isValid(item.getEntityItem()) && tile.getEnergy() >= ENERGY_USE){ ItemStack newStack = this.tryConvert(item.getEntityItem(), hitState, hitBlock, tile); - if(newStack != null){ + if(StackUtil.isValid(newStack)){ item.setDead(); EntityItem newItem = new EntityItem(tile.getWorldObject(), item.posX, item.posY, item.posZ, newStack); @@ -83,7 +84,7 @@ public class LensColor extends Lens{ } private ItemStack tryConvert(ItemStack stack, IBlockState hitState, BlockPos hitBlock, IAtomicReconstructor tile){ - if(stack != null){ + if(StackUtil.isValid(stack)){ Item item = stack.getItem(); if(item != null){ for(Map.Entry changer : ActuallyAdditionsAPI.RECONSTRUCTOR_LENS_COLOR_CHANGERS.entrySet()){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensDisenchanting.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensDisenchanting.java index 55bb2c370..4381c1472 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensDisenchanting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensDisenchanting.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.items.lens; import de.ellpeck.actuallyadditions.api.internal.IAtomicReconstructor; import de.ellpeck.actuallyadditions.api.lens.Lens; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.state.IBlockState; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; @@ -42,7 +43,7 @@ public class LensDisenchanting extends Lens{ for(EntityItem item : items){ if(item != null && !item.isDead){ ItemStack stack = item.getEntityItem(); - if(stack != null){ + if(StackUtil.isValid(stack)){ Item stackItem = stack.getItem(); if(stackItem == Items.BOOK || stackItem == Items.ENCHANTED_BOOK){ if(book == null){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensMining.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensMining.java index 84d9899e1..079ccd036 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensMining.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/lens/LensMining.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.internal.IAtomicReconstructor; import de.ellpeck.actuallyadditions.api.lens.Lens; import de.ellpeck.actuallyadditions.api.recipe.WeightedOre; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockNetherrack; import net.minecraft.block.BlockStone; @@ -119,7 +120,7 @@ public class LensMining extends Lens{ List stacks = OreDictionary.getOres(ore.name, false); if(stacks != null && !stacks.isEmpty()){ for(ItemStack aStack : stacks){ - if(aStack != null && aStack.getItem() instanceof ItemBlock){ + if(StackUtil.isValid(aStack) && aStack.getItem() instanceof ItemBlock){ adaptedUse += (totalWeight-ore.itemWeight)%40000; stack = aStack; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheFoods.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheFoods.java index e9c79f177..cd33236b6 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheFoods.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/metalists/TheFoods.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.items.metalists; import de.ellpeck.actuallyadditions.mod.items.InitItems; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; @@ -45,7 +46,7 @@ public enum TheFoods{ public final boolean getsDrunken; public final int useDuration; public final EnumRarity rarity; - public ItemStack returnItem; + public ItemStack returnItem = StackUtil.getNull(); TheFoods(String name, int healAmount, float saturation, boolean getsDrunken, int useDuration, EnumRarity rarity){ this.name = name; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/booklet/BookletRecipeCategory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/booklet/BookletRecipeCategory.java index bdecc0209..dbd8ccf9a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/booklet/BookletRecipeCategory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/booklet/BookletRecipeCategory.java @@ -19,7 +19,6 @@ import mezz.jei.api.recipe.BlankRecipeCategory; import net.minecraft.item.ItemStack; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class BookletRecipeCategory extends BlankRecipeCategory{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineRecipeCategory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineRecipeCategory.java index 1d01f02db..0c31435fd 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineRecipeCategory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineRecipeCategory.java @@ -17,8 +17,6 @@ import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.BlankRecipeCategory; -import mezz.jei.api.recipe.IRecipeWrapper; -import net.minecraft.client.Minecraft; public class CoffeeMachineRecipeCategory extends BlankRecipeCategory{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/crusher/CrusherRecipeCategory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/crusher/CrusherRecipeCategory.java index 54dd3d69c..8921db04a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/crusher/CrusherRecipeCategory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/crusher/CrusherRecipeCategory.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.jei.crusher; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import mezz.jei.api.IGuiHelper; import mezz.jei.api.gui.IDrawable; @@ -51,7 +52,7 @@ public class CrusherRecipeCategory extends BlankRecipeCategory{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/empowerer/EmpowererRecipeWrapper.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/empowerer/EmpowererRecipeWrapper.java index 10824b361..a501caf59 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/empowerer/EmpowererRecipeWrapper.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/empowerer/EmpowererRecipeWrapper.java @@ -18,6 +18,7 @@ import de.ellpeck.actuallyadditions.mod.jei.RecipeWrapperWithButton; import mezz.jei.api.ingredients.IIngredients; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; + import java.util.Arrays; public class EmpowererRecipeWrapper extends RecipeWrapperWithButton{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/ConnectionPair.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/ConnectionPair.java index 84fe2135c..c72482642 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/ConnectionPair.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/ConnectionPair.java @@ -65,6 +65,7 @@ public class ConnectionPair implements IConnectionPair{ return this.type; } + @Override public boolean contains(BlockPos relay){ for(BlockPos position : this.positions){ if(position != null && position.equals(relay)){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java index 9b3163965..8a3598f95 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java @@ -147,7 +147,7 @@ public class MethodHandler implements IMethodHandler{ for(LensConversionRecipe recipe : recipes){ if(recipe != null && recipe.type == tile.getLens() && tile.getEnergy() >= recipe.energyUse){ ItemStack output = recipe.outputStack; - if(output != null){ + if(StackUtil.isValid(output)){ tile.getWorldObject().playEvent(2001, pos, Block.getStateId(tile.getWorldObject().getBlockState(pos))); if(output.getItem() instanceof ItemBlock){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/RenderSpecial.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/RenderSpecial.java index cae0a7861..96a927030 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/RenderSpecial.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/RenderSpecial.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.misc.special; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.EntityPlayer; @@ -28,42 +29,44 @@ public class RenderSpecial{ } public void render(EntityPlayer player, float partialTicks){ - if(player.isInvisible() || !player.isWearing(EnumPlayerModelParts.CAPE) || player.isElytraFlying()){ - return; - } - boolean isBlock = this.theThingToRender.getItem() instanceof ItemBlock; + if(StackUtil.isValid(this.theThingToRender)){ + if(player.isInvisible() || !player.isWearing(EnumPlayerModelParts.CAPE) || player.isElytraFlying()){ + return; + } + boolean isBlock = this.theThingToRender.getItem() instanceof ItemBlock; - GlStateManager.pushMatrix(); - - Vec3d currentPos = Minecraft.getMinecraft().thePlayer.getPositionEyes(partialTicks); - Vec3d playerPos = player.getPositionEyes(partialTicks); - GlStateManager.translate(playerPos.xCoord-currentPos.xCoord, playerPos.yCoord-currentPos.yCoord, playerPos.zCoord-currentPos.zCoord); - - GlStateManager.translate(0D, 2.375D-(player.isSneaking() ? 0.125D : 0D)+(isBlock ? 0D : 0.1875D), 0D); - GlStateManager.rotate(180F, 1.0F, 0.0F, 1.0F); - - float size = isBlock ? 0.5F : 0.4F; - GlStateManager.scale(size, size, size); - - //Make the floaty stuff look nice using sine waves \o/ -xdjackiexd - //Peck edit: What do you mean by "nice" you jackass? >_> - double boop = Minecraft.getSystemTime()/1000D; - GlStateManager.translate(0D, Math.sin(boop%(2*Math.PI))*0.25, 0D); - GlStateManager.rotate((float)(((boop*40D)%360)), 0, 1, 0); - - GlStateManager.disableLighting(); - if(this.theThingToRender != null){ GlStateManager.pushMatrix(); + + Vec3d currentPos = Minecraft.getMinecraft().thePlayer.getPositionEyes(partialTicks); + Vec3d playerPos = player.getPositionEyes(partialTicks); + GlStateManager.translate(playerPos.xCoord-currentPos.xCoord, playerPos.yCoord-currentPos.yCoord, playerPos.zCoord-currentPos.zCoord); + + GlStateManager.translate(0D, 2.375D-(player.isSneaking() ? 0.125D : 0D)+(isBlock ? 0D : 0.1875D), 0D); + GlStateManager.rotate(180F, 1.0F, 0.0F, 1.0F); + + float size = isBlock ? 0.5F : 0.4F; + GlStateManager.scale(size, size, size); + + //Make the floaty stuff look nice using sine waves \o/ -xdjackiexd + //Peck edit: What do you mean by "nice" you jackass? >_> + double boop = Minecraft.getSystemTime()/1000D; + GlStateManager.translate(0D, Math.sin(boop%(2*Math.PI))*0.25, 0D); + GlStateManager.rotate((float)(((boop*40D)%360)), 0, 1, 0); + + GlStateManager.disableLighting(); + GlStateManager.pushMatrix(); + if(!isBlock){ GlStateManager.translate(0D, 0.5D, 0D); } GlStateManager.rotate(180F, 1F, 0F, 0F); AssetUtil.renderItemInWorld(this.theThingToRender); GlStateManager.popMatrix(); - } - GlStateManager.enableLighting(); - GlStateManager.popMatrix(); + GlStateManager.enableLighting(); + + GlStateManager.popMatrix(); + } } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/SpecialRenderInit.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/SpecialRenderInit.java index f04ca929d..32acbaaa5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/SpecialRenderInit.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/special/SpecialRenderInit.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.misc.special; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -46,7 +47,7 @@ public class SpecialRenderInit{ meta = 0; } - ItemStack stack = null; + ItemStack stack = StackUtil.getNull(); //Get the Item from the String ResourceLocation resLoc = new ResourceLocation(itemName); if(Item.REGISTRY.containsKey(resLoc)){ @@ -59,7 +60,7 @@ public class SpecialRenderInit{ } //Add a new Special Renderer to the list - if(stack != null){ + if(StackUtil.isValid(stack)){ SPECIAL_LIST.put(key, new RenderSpecial(stack)); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/network/PacketHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/network/PacketHandler.java index a758d914d..ad6436f08 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/network/PacketHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/network/PacketHandler.java @@ -20,7 +20,6 @@ import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -38,10 +37,7 @@ import java.util.UUID; public final class PacketHandler{ - public static SimpleNetworkWrapper theNetwork; - public static final List DATA_HANDLERS = new ArrayList(); - public static final IDataHandler PARTICLE_HANDLER = new IDataHandler(){ @Override @SideOnly(Side.CLIENT) @@ -56,7 +52,7 @@ public final class PacketHandler{ World world = Minecraft.getMinecraft().theWorld; if(world != null){ TileEntity tile = world.getTileEntity(new BlockPos(compound.getInteger("X"), compound.getInteger("Y"), compound.getInteger("Z"))); - if(tile != null && tile instanceof TileEntityBase){ + if(tile instanceof TileEntityBase){ ((TileEntityBase)tile).readSyncableNBT(compound.getCompoundTag("Data"), TileEntityBase.NBTType.SYNC); } } @@ -71,7 +67,7 @@ public final class PacketHandler{ if(tile instanceof IButtonReactor){ IButtonReactor reactor = (IButtonReactor)tile; Entity entity = world.getEntityByID(compound.getInteger("PlayerID")); - if(entity != null && entity instanceof EntityPlayer){ + if(entity instanceof EntityPlayer){ reactor.onButtonPressed(compound.getInteger("ButtonID"), (EntityPlayer)entity); } } @@ -82,9 +78,9 @@ public final class PacketHandler{ public void handleData(NBTTagCompound compound){ World world = DimensionManager.getWorld(compound.getInteger("WorldID")); Entity entity = world.getEntityByID(compound.getInteger("PlayerID")); - if(entity != null && entity instanceof EntityPlayer){ + if(entity instanceof EntityPlayer){ Container container = ((EntityPlayer)entity).openContainer; - if(container != null && container instanceof IButtonReactor){ + if(container instanceof IButtonReactor){ ((IButtonReactor)container).onButtonPressed(compound.getInteger("ButtonID"), (EntityPlayer)entity); } } @@ -125,6 +121,7 @@ public final class PacketHandler{ } } }; + public static SimpleNetworkWrapper theNetwork; public static void init(){ theNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(ModUtil.MOD_ID); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java index d019f5e56..518a077d9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java @@ -11,13 +11,7 @@ package de.ellpeck.actuallyadditions.mod.proxy; -import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; -import de.ellpeck.actuallyadditions.api.booklet.IBookletChapter; -import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry; -import de.ellpeck.actuallyadditions.api.booklet.IBookletPage; import de.ellpeck.actuallyadditions.mod.blocks.render.*; -import de.ellpeck.actuallyadditions.mod.booklet.entry.BookletEntryAllItems; -import de.ellpeck.actuallyadditions.mod.config.values.ConfigBoolValues; import de.ellpeck.actuallyadditions.mod.entity.InitEntities; import de.ellpeck.actuallyadditions.mod.event.ClientEvents; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; @@ -30,19 +24,16 @@ import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.client.resources.IReloadableResourceManager; -import net.minecraft.client.resources.IResourceManager; -import net.minecraft.client.resources.IResourceManagerReloadListener; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.TextFormatting; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/CrusherRecipeRegistry.java b/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/CrusherRecipeRegistry.java index b25848c3e..0213228e6 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/CrusherRecipeRegistry.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/CrusherRecipeRegistry.java @@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe; import de.ellpeck.actuallyadditions.mod.config.values.ConfigStringListValues; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -53,12 +54,12 @@ public final class CrusherRecipeRegistry{ CrusherRecipe recipe = ActuallyAdditionsAPI.CRUSHER_RECIPES.get(i); addedRecipes.add(recipe.inputStack+" -> "+recipe.outputOneStack); } - ModUtil.LOGGER.info("Added "+addedRecipes.size()+" Crusher Recipes automatically: "+addedRecipes.toString()); - ModUtil.LOGGER.warn("Couldn't add "+oresNoResult.size()+" Crusher Recipes automatically, either because the inputs were missing outputs, or because they exist already: "+oresNoResult.toString()); + ModUtil.LOGGER.info("Added "+addedRecipes.size()+" Crusher Recipes automatically: "+addedRecipes); + ModUtil.LOGGER.warn("Couldn't add "+oresNoResult.size()+" Crusher Recipes automatically, either because the inputs were missing outputs, or because they exist already: "+oresNoResult); } public static boolean hasBlacklistedOutput(ItemStack output){ - if(output != null){ + if(StackUtil.isValid(output)){ Item item = output.getItem(); if(item != null){ String reg = item.getRegistryName().toString(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/FuelHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/FuelHandler.java index 4ed3f1c21..4e1621804 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/FuelHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/FuelHandler.java @@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks; import de.ellpeck.actuallyadditions.mod.items.InitItems; import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -49,7 +50,7 @@ public class FuelHandler implements IFuelHandler{ @Override public int getBurnTime(ItemStack stack){ - if(stack != null){ + if(StackUtil.isValid(stack)){ for(Fuel fuel : FUEL_LIST){ if(stack.isItemEqual(fuel.fuel)){ return fuel.burnTime; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java index 0a58a5f82..088010a0d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java @@ -17,6 +17,7 @@ import de.ellpeck.actuallyadditions.api.lens.ILensItem; import de.ellpeck.actuallyadditions.api.lens.Lens; import de.ellpeck.actuallyadditions.mod.misc.SoundHandler; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; @@ -116,7 +117,7 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple @Override public Lens getLens(){ - if(this.slots[0] != null){ + if(StackUtil.isValid(this.slots[0])){ if(this.slots[0].getItem() instanceof ILensItem){ return ((ILensItem)this.slots[0].getItem()).getLens(); } @@ -151,7 +152,7 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple @Override public boolean isItemValidForSlot(int i, ItemStack stack){ - return stack != null && stack.getItem() instanceof ILensItem; + return StackUtil.isValid(stack) && stack.getItem() instanceof ILensItem; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java index ae9b79246..b6ff2a63e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java @@ -130,7 +130,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements } public void storeCoffee(){ - if(this.slots[SLOT_COFFEE_BEANS] != null && this.slots[SLOT_COFFEE_BEANS].getItem() == InitItems.itemCoffeeBean){ + if(StackUtil.isValid(this.slots[SLOT_COFFEE_BEANS]) && this.slots[SLOT_COFFEE_BEANS].getItem() == InitItems.itemCoffeeBean){ int toAdd = 2; if(toAdd <= COFFEE_CACHE_MAX_AMOUNT-this.coffeeCacheAmount){ this.slots[SLOT_COFFEE_BEANS] = StackUtil.addStackSize(this.slots[SLOT_COFFEE_BEANS], -1); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCompost.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCompost.java index f9a08d24f..3475b24d2 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCompost.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCompost.java @@ -26,7 +26,7 @@ public class TileEntityCompost extends TileEntityInventoryBase{ } public static CompostRecipe getRecipeForInput(ItemStack input){ - if(input != null){ + if(StackUtil.isValid(input)){ for(CompostRecipe recipe : ActuallyAdditionsAPI.COMPOST_RECIPES){ if(input.isItemEqual(recipe.input)){ return recipe; @@ -97,7 +97,7 @@ public class TileEntityCompost extends TileEntityInventoryBase{ @Override public int getInventoryStackLimit(){ - if(this.slots[0] != null){ + if(StackUtil.isValid(this.slots[0])){ CompostRecipe recipe = getRecipeForInput(this.slots[0]); if(recipe != null && StackUtil.isValid(recipe.input)){ return StackUtil.getStackSize(recipe.input); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDisplayStand.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDisplayStand.java index c69723c08..39c3e027b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDisplayStand.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDisplayStand.java @@ -12,6 +12,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import cofh.api.energy.EnergyStorage; import de.ellpeck.actuallyadditions.api.misc.IDisplayStandItem; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; @@ -33,7 +34,7 @@ public class TileEntityDisplayStand extends TileEntityInventoryBase implements I super.updateEntity(); if(!this.worldObj.isRemote){ - if(this.slots[0] != null && !this.isRedstonePowered){ + if(StackUtil.isValid(this.slots[0]) && !this.isRedstonePowered){ IDisplayStandItem item = this.convertToDisplayStandItem(this.slots[0].getItem()); if(item != null){ int energy = item.getUsePerTick(this.slots[0], this, this.ticksElapsed); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDistributorItem.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDistributorItem.java index 43c1a516b..0ac52e44b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDistributorItem.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityDistributorItem.java @@ -13,7 +13,6 @@ package de.ellpeck.actuallyadditions.mod.tile; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraftforge.items.CapabilityItemHandler; @@ -131,16 +130,6 @@ public class TileEntityDistributorItem extends TileEntityInventoryBase{ } } - @Override - public void writeSyncableNBT(NBTTagCompound compound, NBTType type){ - super.writeSyncableNBT(compound, type); - } - - @Override - public void readSyncableNBT(NBTTagCompound compound, NBTType type){ - super.readSyncableNBT(compound, type); - } - @Override public boolean shouldSyncSlots(){ return true; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEmpowerer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEmpowerer.java index 505034519..eec748d76 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEmpowerer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityEmpowerer.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; import de.ellpeck.actuallyadditions.api.recipe.EmpowererRecipe; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.ItemUtil; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -36,9 +37,9 @@ public class TileEntityEmpowerer extends TileEntityInventoryBase{ public static List getRecipesForInput(ItemStack input){ List recipesThatWork = new ArrayList(); - if(input != null){ + if(StackUtil.isValid(input)){ for(EmpowererRecipe recipe : ActuallyAdditionsAPI.EMPOWERER_RECIPES){ - if(recipe.input != null && recipe.input.isItemEqual(input)){ + if(StackUtil.isValid(recipe.input) && recipe.input.isItemEqual(input)){ recipesThatWork.add(recipe); } } @@ -100,7 +101,7 @@ public class TileEntityEmpowerer extends TileEntityInventoryBase{ BlockPos offset = this.pos.offset(facing, 3); TileEntity tile = this.worldObj.getTileEntity(offset); - if(tile != null && tile instanceof TileEntityDisplayStand){ + if(tile instanceof TileEntityDisplayStand){ TileEntityDisplayStand stand = (TileEntityDisplayStand)tile; ItemStack standItem = stand.getStackInSlot(0); int containPlace = ItemUtil.getPlaceAt(itemsStillNeeded, standItem, true); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFarmer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFarmer.java index a2406956d..0d7d8a118 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFarmer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFarmer.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import cofh.api.energy.EnergyStorage; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.block.BlockCrops; @@ -150,7 +151,7 @@ public class TileEntityFarmer extends TileEntityInventoryBase implements ICustom private IBlockState getFirstPlantablePlantFromSlots(BlockPos pos){ for(int i = 0; i < 6; i++){ ItemStack stack = this.slots[i]; - if(stack != null){ + if(StackUtil.isValid(stack)){ IPlantable plantable = null; Item item = stack.getItem(); @@ -178,7 +179,7 @@ public class TileEntityFarmer extends TileEntityInventoryBase implements ICustom @Override public boolean isItemValidForSlot(int i, ItemStack stack){ - return i < 6 && stack != null && stack.getItem() instanceof IPlantable; + return i < 6 && StackUtil.isValid(stack) && stack.getItem() instanceof IPlantable; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java index 73845de5b..fad7e5c1a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFishingNet.java @@ -62,7 +62,7 @@ public class TileEntityFishingNet extends TileEntityBase{ List fishables = this.worldObj.getLootTableManager().getLootTableFromLocation(LootTableList.GAMEPLAY_FISHING).generateLootForPools(this.worldObj.rand, builder.build()); for(ItemStack fishable : fishables){ ItemStack leftover = this.storeInContainer(fishable); - if(leftover != null){ + if(StackUtil.isValid(leftover)){ EntityItem item = new EntityItem(this.worldObj, this.pos.getX()+0.5, this.pos.getY()+0.5, this.pos.getZ()+0.5, leftover.copy()); item.lifespan = 2000; this.worldObj.spawnEntityInWorld(item); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceDouble.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceDouble.java index 7a20385bc..930f68055 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceDouble.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityFurnaceDouble.java @@ -164,7 +164,7 @@ public class TileEntityFurnaceDouble extends TileEntityInventoryBase implements @Override public boolean isItemValidForSlot(int i, ItemStack stack){ - return (i == SLOT_INPUT_1 || i == SLOT_INPUT_2) && FurnaceRecipes.instance().getSmeltingResult(stack) != null; + return (i == SLOT_INPUT_1 || i == SLOT_INPUT_2) && StackUtil.isValid(FurnaceRecipes.instance().getSmeltingResult(stack)); } public boolean canSmeltOn(int theInput, int theOutput){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInputter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInputter.java index fa28d001a..821577bdc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInputter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityInputter.java @@ -13,12 +13,10 @@ package de.ellpeck.actuallyadditions.mod.tile; import de.ellpeck.actuallyadditions.mod.network.gui.IButtonReactor; import de.ellpeck.actuallyadditions.mod.network.gui.INumberReactor; -import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemRepairer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemRepairer.java index 6ffee43ab..111e72c83 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemRepairer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemRepairer.java @@ -12,6 +12,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import cofh.api.energy.EnergyStorage; import de.ellpeck.actuallyadditions.mod.config.values.ConfigStringListValues; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -33,7 +34,7 @@ public class TileEntityItemRepairer extends TileEntityInventoryBase implements I } public static boolean canBeRepaired(ItemStack stack){ - if(stack != null){ + if(StackUtil.isValid(stack)){ Item item = stack.getItem(); if(item != null){ if(item.isRepairable()){ @@ -77,10 +78,10 @@ public class TileEntityItemRepairer extends TileEntityInventoryBase implements I super.updateEntity(); if(!this.worldObj.isRemote){ ItemStack input = this.slots[SLOT_INPUT]; - if(this.slots[SLOT_OUTPUT] == null && canBeRepaired(input)){ + if(!StackUtil.isValid(this.slots[SLOT_OUTPUT]) && canBeRepaired(input)){ if(input.getItemDamage() <= 0){ this.slots[SLOT_OUTPUT] = input.copy(); - this.slots[SLOT_INPUT] = null; + this.slots[SLOT_INPUT] = StackUtil.getNull(); this.nextRepairTick = 0; } else{ @@ -124,7 +125,7 @@ public class TileEntityItemRepairer extends TileEntityInventoryBase implements I @SideOnly(Side.CLIENT) public int getItemDamageToScale(int i){ - if(this.slots[SLOT_INPUT] != null){ + if(StackUtil.isValid(this.slots[SLOT_INPUT])){ return (this.slots[SLOT_INPUT].getMaxDamage()-this.slots[SLOT_INPUT].getItemDamage())*i/this.slots[SLOT_INPUT].getMaxDamage(); } return 0; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemViewer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemViewer.java index 3cb632ba3..c2349a8be 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemViewer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityItemViewer.java @@ -36,11 +36,6 @@ public class TileEntityItemViewer extends TileEntityInventoryBase{ super(0, "itemViewer"); } - @Override - public void updateEntity(){ - super.updateEntity(); - } - @Override protected void getInvWrappers(SidedInvWrapper[] wrappers){ for(int i = 0; i < wrappers.length; i++){ @@ -191,7 +186,7 @@ public class TileEntityItemViewer extends TileEntityInventoryBase{ @Override public void setInventorySlotContents(int i, ItemStack stack){ - if(stack != null){ + if(StackUtil.isValid(stack)){ SpecificItemHandlerInfo handler = this.getSwitchedIndexHandler(i); if(handler != null){ ItemStack toInsert = stack.copy(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java index 02147cc86..5334abded 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelay.java @@ -89,7 +89,7 @@ public abstract class TileEntityLaserRelay extends TileEntityBase{ WrenchMode mode = WrenchMode.values()[data.theCompound.getInteger("LaserWrenchMode")]; if(mode != WrenchMode.NO_PARTICLES){ ItemStack stack = player.getHeldItemMainhand(); - if(mode == WrenchMode.ALWAYS_PARTICLES || (stack != null && stack.getItem() instanceof ItemLaserWrench)){ + if(mode == WrenchMode.ALWAYS_PARTICLES || (StackUtil.isValid(stack) && stack.getItem() instanceof ItemLaserWrench)){ Network network = ActuallyAdditionsAPI.connectionHandler.getNetworkFor(this.pos, this.worldObj); if(network != null){ for(IConnectionPair aPair : network.connections){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItem.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItem.java index 34ce112b4..386f37970 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItem.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItem.java @@ -32,8 +32,8 @@ import java.util.concurrent.ConcurrentHashMap; public class TileEntityLaserRelayItem extends TileEntityLaserRelay{ - public int priority; public final Map handlersAround = new ConcurrentHashMap(); + public int priority; public TileEntityLaserRelayItem(String name){ super(name, LaserType.ITEM); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPlayerInterface.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPlayerInterface.java index e17fcf1a7..1900c5fd8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPlayerInterface.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityPlayerInterface.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyContainerItem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.compat.TeslaUtil; import net.darkhax.tesla.api.ITeslaConsumer; import net.minecraft.entity.player.EntityPlayer; @@ -61,7 +62,7 @@ public class TileEntityPlayerInterface extends TileEntityInventoryBase implement for(int i = 0; i < player.inventory.getSizeInventory(); i++){ if(this.storage.getEnergyStored() > 0){ ItemStack slot = player.inventory.getStackInSlot(i); - if(slot != null){ + if(StackUtil.isValid(slot)){ Item item = slot.getItem(); int received = 0; @@ -199,10 +200,7 @@ public class TileEntityPlayerInterface extends TileEntityInventoryBase implement public ItemStack decrStackSize(int i, int j){ EntityPlayer player = this.getPlayer(); if(player != null){ - ItemStack stack = player.inventory.decrStackSize(i, j); - if(stack != null){ - return stack; - } + return player.inventory.decrStackSize(i, j); } return null; } @@ -211,10 +209,7 @@ public class TileEntityPlayerInterface extends TileEntityInventoryBase implement public ItemStack removeStackFromSlot(int index){ EntityPlayer player = this.getPlayer(); if(player != null){ - ItemStack stack = player.inventory.removeStackFromSlot(index); - if(stack != null){ - return stack; - } + return player.inventory.removeStackFromSlot(index); } return null; } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityRangedCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityRangedCollector.java index 1747cab9d..7c3f345bc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityRangedCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityRangedCollector.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.tile; import de.ellpeck.actuallyadditions.mod.network.gui.IButtonReactor; +import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -57,7 +58,7 @@ public class TileEntityRangedCollector extends TileEntityInventoryBase implement ArrayList items = (ArrayList)this.worldObj.getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(this.pos.getX()-RANGE, this.pos.getY()-RANGE, this.pos.getZ()-RANGE, this.pos.getX()+RANGE, this.pos.getY()+RANGE, this.pos.getZ()+RANGE)); if(!items.isEmpty()){ for(EntityItem item : items){ - if(!item.isDead && !item.cannotPickup() && item.getEntityItem() != null){ + if(!item.isDead && !item.cannotPickup() && StackUtil.isValid(item.getEntityItem())){ ItemStack toAdd = item.getEntityItem().copy(); if(this.filter.check(toAdd, this.slots)){ ArrayList checkList = new ArrayList(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityXPSolidifier.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityXPSolidifier.java index 4c02c324a..91b10042b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityXPSolidifier.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityXPSolidifier.java @@ -156,7 +156,7 @@ public class TileEntityXPSolidifier extends TileEntityInventoryBase implements I if(StackUtil.isValid(this.slots[1]) && this.slots[1].getItem() instanceof ItemSolidifiedExperience){ this.amount += StackUtil.getStackSize(this.slots[1]); - this.slots[1] = null; + this.slots[1] = StackUtil.getNull(); } if(this.lastAmount != this.amount && this.sendUpdateWithInterval()){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java index d035ac03a..a420b9e68 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java @@ -63,7 +63,7 @@ public final class AssetUtil{ @SideOnly(Side.CLIENT) public static void renderItemInWorld(ItemStack stack){ - if(stack != null && stack.getItem() != null){ + if(StackUtil.isValid(stack)){ GlStateManager.pushMatrix(); GlStateManager.disableLighting(); GlStateManager.pushAttrib(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java index 6e07d6151..f9d6cd90e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java @@ -77,7 +77,7 @@ public final class ItemUtil{ public static int getPlaceAt(List list, ItemStack stack, boolean checkWildcard){ if(list != null && list.size() > 0){ for(int i = 0; i < list.size(); i++){ - if((stack == null && list.get(i) == null) || areItemsEqual(stack, list.get(i), checkWildcard)){ + if((!StackUtil.isValid(stack) && !StackUtil.isValid(list.get(i))) || areItemsEqual(stack, list.get(i), checkWildcard)){ return i; } } @@ -86,7 +86,7 @@ public final class ItemUtil{ } public static boolean areItemsEqual(ItemStack stack1, ItemStack stack2, boolean checkWildcard){ - return stack1 != null && stack2 != null && (stack1.isItemEqual(stack2) || (checkWildcard && stack1.getItem() == stack2.getItem() && (stack1.getItemDamage() == Util.WILDCARD || stack2.getItemDamage() == Util.WILDCARD))); + return StackUtil.isValid(stack1) && StackUtil.isValid(stack2) && (stack1.isItemEqual(stack2) || (checkWildcard && stack1.getItem() == stack2.getItem() && (stack1.getItemDamage() == Util.WILDCARD || stack2.getItemDamage() == Util.WILDCARD))); } /** diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java index 3cabd1a7c..62e066f61 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java @@ -13,7 +13,6 @@ package de.ellpeck.actuallyadditions.mod.util; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.text.translation.I18n; -import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -49,10 +48,6 @@ public final class StringUtil{ } } - public static String getFluidInfo(FluidTank tank){ - return ""; - } - @SideOnly(Side.CLIENT) public static void renderScaledAsciiString(FontRenderer font, String text, int x, int y, int color, boolean shadow, float scale){ GlStateManager.pushMatrix(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java index 07f3af09f..46172671c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/WorldUtil.java @@ -60,10 +60,10 @@ public final class WorldUtil{ IItemHandler insertCap = insert.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, insertSide); ItemStack theoreticalExtract = extractCap.extractItem(slotExtract, Integer.MAX_VALUE, true); - if(theoreticalExtract != null){ + if(StackUtil.isValid(theoreticalExtract)){ ItemStack remaining = insertCap.insertItem(slotInsert, theoreticalExtract, false); if(!ItemStack.areItemStacksEqual(remaining, theoreticalExtract)){ - int toExtract = remaining == null ? StackUtil.getStackSize(theoreticalExtract) : StackUtil.getStackSize(theoreticalExtract)-StackUtil.getStackSize(remaining); + int toExtract = !StackUtil.isValid(remaining) ? StackUtil.getStackSize(theoreticalExtract) : StackUtil.getStackSize(theoreticalExtract)-StackUtil.getStackSize(remaining); extractCap.extractItem(slotExtract, toExtract, false); return true; } @@ -265,7 +265,7 @@ public final class WorldUtil{ backupSlots = new ItemStack[inventory.getSizeInventory()]; for(int i = 0; i < backupSlots.length; i++){ ItemStack stack = inventory.getStackInSlot(i); - if(stack != null){ + if(StackUtil.isValid(stack)){ backupSlots[i] = stack.copy(); } } @@ -303,7 +303,7 @@ public final class WorldUtil{ public static int findFirstFilledSlot(ItemStack[] slots){ for(int i = 0; i < slots.length; i++){ - if(slots[i] != null){ + if(StackUtil.isValid(slots[i])){ return i; } }