public override void OnBlockPlaced(IWorldAccessor world, BlockPos blockPos, ItemStack byItemStack = null) { base.OnBlockPlaced(world, blockPos, byItemStack); if (byItemStack != null) { TFCapacitor be = world.BlockAccessor.GetBlockEntity(blockPos) as TFCapacitor; be.energyStorage.setEnergy(byItemStack.Attributes.GetInt("energy", 0)); } }
public override ItemStack OnPickBlock(IWorldAccessor world, BlockPos pos) { ItemStack item = new ItemStack(world.BlockAccessor.GetBlock(new AssetLocation("temporalengineering:capacitor-" + FirstCodePart(1) + "-none-none-none-none-none-none"))); TFCapacitor be = world.BlockAccessor.GetBlockEntity(pos) as TFCapacitor; if (be != null) { item.Attributes.SetInt("energy", (int)be.energyStorage?.getEnergyStored()); } return(item); }
public override ItemStack[] GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, float dropQuantityMultiplier = 1) { TFCapacitor be = world.BlockAccessor.GetBlockEntity(pos) as TFCapacitor; ItemStack item = new ItemStack(world.BlockAccessor.GetBlock(new AssetLocation("temporalengineering:capacitor-" + FirstCodePart(1) + "-none-none-none-none-none-none"))); if (be != null) { item.Attributes.SetInt("energy", (int)be.energyStorage?.getEnergyStored()); } return(new ItemStack[] { item }); }