@Override public void receiveGuiNBTOnServer(final EntityPlayer player, final String name, final NBTTagCompound nbt) { if (name.equals("comp-change-tab")) { final CompartmentTab tab2 = new CompartmentTab(nbt); this.tabs.put(tab2.getId(), tab2); this.getMachine().getTileEntity().markDirty(); } }
@Override public void onUpdate() { if (!this.registeredToIC2EnergyNet && !this.getMachine().getTileEntity().isInvalid()) { this.addToEnergyNet(); } }
@Optional.Method(modid = "ic2") private void do_addToEnergyNet() { MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent((IEnergyTile) this.getMachine().getTileEntity())); this.registeredToIC2EnergyNet = true; }
@Optional.Method(modid = "ic2") private void do_removeFromEnergyNet() { MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent((IEnergyTile) this.getMachine().getTileEntity())); this.registeredToIC2EnergyNet = false; }
@Override public void onDestruction() { IMachine machine = getMachine(); World world = machine.getWorld(); Random rand = world.rand; BlockPos pos = machine.getTileEntity().getPos(); for (InventorySlot slot : this.inventory.values()) { ItemStack stack = slot.getItemStack(); if (slot.isRecipe() || stack.isEmpty()) { continue; } final float xOffset = rand.nextFloat() * 0.8f + 0.1f; final float yOffset = rand.nextFloat() * 0.8f + 0.1f; final float zOffset = rand.nextFloat() * 0.8f + 0.1f; final EntityItem entityItem = new EntityItem(world, pos.getX() + xOffset, pos.getY() + yOffset, pos.getZ() + zOffset, stack.copy()); entityItem.motionX = (float) rand.nextGaussian() * ACCEL; entityItem.motionY = (float) rand.nextGaussian() * ACCEL + 0.2f; entityItem.motionZ = (float) rand.nextGaussian() * ACCEL; world.spawnEntity(entityItem); } }
public void refreshBlock() { BlockPos pos = machine.getTileEntity().getPos(); World world = machine.getWorld(); IBlockState blockState = world.getBlockState(pos); machine.getWorld().notifyBlockUpdate(pos, blockState, blockState, 0); }
@Override public void wearOutEquipment(final int amount) { IHiveFrame hiveFrame = this.getHiveFrame(); if (hiveFrame != null) { final World world = this.getMachine().getTileEntity().getWorld(); IBeeRoot beeRoot = Utils.getBeeRoot(); IMultiblockLogicAlveary multiblockLogic = ((TileExtraBeeAlveary) this.getMachine().getTileEntity()).getMultiblockLogic(); IAlvearyController alvearyController = multiblockLogic.getController(); ItemStack queenStack = alvearyController.getBeeInventory().getQueen(); IBee queen = beeRoot.getMember(queenStack); if (queen != null) { final int wear = Math.round(amount * 5 * beeRoot.getBeekeepingMode(world).getWearModifier()); ItemStack frame = this.getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME); ItemStack frameUsed = hiveFrame.frameUsed(alvearyController, frame, queen, wear); this.getInventory().setInventorySlotContents(AlvearyFrame.SLOT_FRAME, frameUsed); } } }
return; final TileExtraBeeAlveary tile = (TileExtraBeeAlveary) this.getMachine().getTileEntity(); final List<IEnergyStorage> handlers = new LinkedList<>(); for (IMultiblockComponent component : tile.getAlvearyBlocks()) {
@Override public void onUpdate() { if (new Random().nextInt(2400) == 0) { TileEntity tile = this.getMachine().getTileEntity(); if (tile instanceof TileExtraBeeAlveary) { final IBeeHousing house = ((TileExtraBeeAlveary) tile).getMultiblockLogic().getController(); if (house != null && !house.getErrorLogic().hasErrors()) { final ItemStack queenStack = house.getBeeInventory().getQueen(); final IBee queen = (queenStack.isEmpty()) ? null : Utils.getBeeRoot().getMember(queenStack); if (queen != null) { final ItemStack larvae = Utils.getBeeRoot().getMemberStack(Utils.getBeeRoot().getBee(queen.getGenome()), EnumBeeType.LARVAE); new TransferRequest(larvae, this.getInventory()).transfer(null, true); } } } } } }