From dffea9a1679b810573559f420fe9dda2a9b3f8cc Mon Sep 17 00:00:00 2001 From: covers1624 Date: Mon, 1 Jun 2020 22:17:34 +0930 Subject: [PATCH] More compile things --- .../appeng/api/parts/IFacadeContainer.java | 7 +- .../java/appeng/facade/FacadeContainer.java | 17 ++-- .../java/appeng/items/parts/ItemFacade.java | 37 +++------ .../java/appeng/parts/CableBusContainer.java | 42 +++++----- .../PartAbstractFormationPlane.java | 4 +- .../automation/PartAnnihilationPlane.java | 77 ++++++++----------- .../parts/automation/PartExportBus.java | 5 +- .../parts/automation/PartFormationPlane.java | 1 + .../PartIdentityAnnihilationPlane.java | 1 + .../parts/automation/PartImportBus.java | 1 + .../parts/automation/PartLevelEmitter.java | 22 ++---- .../parts/automation/PartSharedItemBus.java | 7 +- .../appeng/parts/misc/ItemHandlerAdapter.java | 1 + .../java/appeng/parts/misc/PartInterface.java | 6 +- .../parts/misc/PartSharedStorageBus.java | 5 +- .../appeng/parts/misc/PartStorageBus.java | 29 ++++--- .../java/appeng/parts/misc/PartToggleBus.java | 1 + .../appeng/parts/networking/PartCable.java | 3 +- .../java/appeng/parts/p2p/PartP2PFEPower.java | 12 +-- .../java/appeng/parts/p2p/PartP2PFluids.java | 16 ++-- .../java/appeng/parts/p2p/PartP2PTunnel.java | 1 + .../appeng/parts/p2p/PartP2PTunnelME.java | 1 + src/main/java/appeng/tile/AEBaseTile.java | 7 +- .../crafting/TileCraftingMonitorTile.java | 4 +- .../tile/crafting/TileMolecularAssembler.java | 4 +- .../appeng/tile/grindstone/TileCrank.java | 3 +- .../java/appeng/tile/misc/TileCharger.java | 4 +- .../java/appeng/tile/misc/TileInscriber.java | 4 +- .../java/appeng/tile/misc/TileInterface.java | 4 +- src/main/java/appeng/tile/misc/TilePaint.java | 3 +- .../misc/TileQuartzGrowthAccelerator.java | 3 +- .../appeng/tile/misc/TileSecurityStation.java | 4 +- .../tile/misc/TileVibrationChamber.java | 3 +- .../appeng/tile/networking/TileCableBus.java | 3 +- .../appeng/tile/networking/TileWireless.java | 4 +- .../appeng/tile/qnb/TileQuantumBridge.java | 4 +- .../appeng/tile/spatial/TileSpatialPylon.java | 3 +- .../java/appeng/tile/storage/TileChest.java | 4 +- .../java/appeng/tile/storage/TileDrive.java | 4 +- .../appeng/tile/storage/TileSkyChest.java | 3 +- src/main/java/appeng/util/Platform.java | 33 ++++---- .../java/appeng/util/item/ItemModList.java | 2 +- 42 files changed, 188 insertions(+), 211 deletions(-) diff --git a/src/api/java/appeng/api/parts/IFacadeContainer.java b/src/api/java/appeng/api/parts/IFacadeContainer.java index fcbfd5813..145a662d3 100644 --- a/src/api/java/appeng/api/parts/IFacadeContainer.java +++ b/src/api/java/appeng/api/parts/IFacadeContainer.java @@ -26,9 +26,8 @@ package appeng.api.parts; import java.io.IOException; -import io.netty.buffer.ByteBuf; - import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import appeng.api.util.AEPartLocation; @@ -79,7 +78,7 @@ public interface IFacadeContainer * * @throws IOException */ - boolean readFromStream( ByteBuf data ) throws IOException; + boolean readFromStream( PacketBuffer data ) throws IOException; /** * read from NBT @@ -95,7 +94,7 @@ public interface IFacadeContainer * * @throws IOException */ - void writeToStream( ByteBuf data ) throws IOException; + void writeToStream( PacketBuffer data ) throws IOException; /** * @return true if there are no facades. diff --git a/src/main/java/appeng/facade/FacadeContainer.java b/src/main/java/appeng/facade/FacadeContainer.java index 4e0f98c93..e75a14270 100644 --- a/src/main/java/appeng/facade/FacadeContainer.java +++ b/src/main/java/appeng/facade/FacadeContainer.java @@ -22,13 +22,11 @@ package appeng.facade; import java.io.IOException; import java.util.Optional; -import io.netty.buffer.ByteBuf; - import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; -import appeng.api.AEApi; import appeng.api.parts.IFacadeContainer; import appeng.api.parts.IFacadePart; import appeng.api.parts.IPartHost; @@ -117,28 +115,25 @@ public class FacadeContainer implements IFacadeContainer } @Override - public boolean readFromStream( final ByteBuf out ) throws IOException + public boolean readFromStream( final PacketBuffer out ) throws IOException { final int facadeSides = out.readByte(); boolean changed = false; - final int[] ids = new int[2]; for( int x = 0; x < this.facades; x++ ) { final AEPartLocation side = AEPartLocation.fromOrdinal( x ); final int ix = ( 1 << x ); if( ( facadeSides & ix ) == ix ) { - ids[0] = out.readInt(); - //ids[1] = out.readInt(); - ids[0] = Math.abs( ids[0] ); + final int id = Math.abs( out.readInt() ); Optional maybeFacadeItem = Api.INSTANCE.definitions().items().facade().maybeItem(); if( maybeFacadeItem.isPresent() ) { final ItemFacade ifa = (ItemFacade) maybeFacadeItem.get(); - final ItemStack facade = ifa.createFromIDs( ids ); + final ItemStack facade = ifa.createFromID( id ); if( facade != null ) { changed = changed || this.storage.getFacade( x ) == null; @@ -180,7 +175,7 @@ public class FacadeContainer implements IFacadeContainer } @Override - public void writeToStream( final ByteBuf out ) throws IOException + public void writeToStream( final PacketBuffer out ) throws IOException { int facadeSides = 0; for( int x = 0; x < this.facades; x++ ) @@ -198,9 +193,7 @@ public class FacadeContainer implements IFacadeContainer if( part != null ) { final int itemID = Item.getIdFromItem( part.getItem() ); - //final int dmgValue = part.getItemDamage(); out.writeInt( itemID * ( part.notAEFacade() ? -1 : 1 ) ); - //out.writeInt( dmgValue ); } } } diff --git a/src/main/java/appeng/items/parts/ItemFacade.java b/src/main/java/appeng/items/parts/ItemFacade.java index 580205075..03d7f66a0 100644 --- a/src/main/java/appeng/items/parts/ItemFacade.java +++ b/src/main/java/appeng/items/parts/ItemFacade.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.List; import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.PlayerEntity; @@ -42,6 +43,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import net.minecraftforge.common.property.IExtendedBlockState; +import net.minecraftforge.registries.ForgeRegistries; import appeng.api.AEApi; import appeng.api.exceptions.MissingDefinitionException; @@ -59,7 +61,6 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte { private static final String TAG_ITEM_ID = "item"; - private static final String TAG_DAMAGE = "damage"; private List subTypes = null; @@ -105,9 +106,8 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte if( this.subTypes == null ) { this.subTypes = new ArrayList<>( 1000 ); - for( final Object blk : Block.REGISTRY ) + for( final Block b : ForgeRegistries.BLOCKS ) { - final Block b = (Block) blk; try { final Item item = Item.getItemFromBlock( b ); @@ -135,16 +135,6 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte } } - private static boolean hasSimpleModel( BlockState blockState ) - { - if( blockState.getRenderType() != EnumBlockRenderType.MODEL || blockState instanceof IExtendedBlockState ) - { - return false; - } - - return blockState.isFullCube(); - } - public ItemStack createFacadeForItem( final ItemStack itemStack, final boolean returnItem ) { if( itemStack.isEmpty() ) @@ -175,7 +165,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte final boolean areTileEntitiesEnabled = FacadeConfig.instance().allowTileEntityFacades(); final boolean isWhiteListed = FacadeConfig.instance().isWhiteListed( block, metadata ); - final boolean isModel = blockState.getRenderType() == EnumBlockRenderType.MODEL; + final boolean isModel = blockState.getRenderType() == BlockRenderType.MODEL; final BlockState defaultState = block.getDefaultState(); final boolean isTileEntity = block.hasTileEntity( defaultState ); @@ -194,8 +184,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte final ItemStack is = new ItemStack( this ); final CompoundNBT data = new CompoundNBT(); data.putString(TAG_ITEM_ID, itemStack.getItem().getRegistryName().toString()); - data.setInteger( TAG_DAMAGE, itemStack.getDamage() ); - is.setTagCompound( data ); + is.setTag( data ); return is; } return ItemStack.EMPTY; @@ -224,7 +213,6 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte } ResourceLocation itemId; - int itemDamage; // Handle legacy facades if( nbt.contains("x") ) @@ -235,30 +223,28 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte return ItemStack.EMPTY; } - Item item = Item.REGISTRY.getObjectById( data[0] ); + Item item = Registry.ITEM.getByValue( data[0] ); if( item == null ) { return ItemStack.EMPTY; } itemId = item.getRegistryName(); - itemDamage = data[1]; } else { - // First item is numeric item id, second is damage + // First item is numeric item id itemId = new ResourceLocation( nbt.getString( TAG_ITEM_ID ) ); - itemDamage = nbt.getInteger( TAG_DAMAGE ); } - Item baseItem = Item.REGISTRY.getObject( itemId ); + Item baseItem = ForgeRegistries.ITEMS.getValue( itemId ); if( baseItem == null ) { return ItemStack.EMPTY; } - return new ItemStack( baseItem, 1, itemDamage ); + return new ItemStack( baseItem, 1 ); } @Override @@ -308,7 +294,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte return this.subTypes.get( 0 ); } - public ItemStack createFromIDs( final int[] ids ) + public ItemStack createFromID( final int id ) { ItemStack facadeStack = Api.INSTANCE .definitions() @@ -318,7 +304,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte .orElseThrow( () -> new MissingDefinitionException( "Tried to create a facade, while facades are being deactivated." ) ); // Convert back to a registry name... - Item item = Registry.ITEM.getByValue( ids[0] ); + Item item = Registry.ITEM.getByValue( id ); if( item == null ) { return ItemStack.EMPTY; @@ -326,7 +312,6 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte final CompoundNBT facadeTag = new CompoundNBT(); facadeTag.putString(TAG_ITEM_ID, item.getRegistryName().toString()); - //facadeTag.setInteger( TAG_DAMAGE, ids[1] ); facadeStack.setTag( facadeTag ); return facadeStack; diff --git a/src/main/java/appeng/parts/CableBusContainer.java b/src/main/java/appeng/parts/CableBusContainer.java index 76f64b978..09edda3e0 100644 --- a/src/main/java/appeng/parts/CableBusContainer.java +++ b/src/main/java/appeng/parts/CableBusContainer.java @@ -25,11 +25,8 @@ import java.util.EnumSet; import java.util.List; import java.util.Random; import java.util.Set; - import javax.annotation.Nullable; -import io.netty.buffer.ByteBuf; - import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; @@ -37,6 +34,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.Hand; @@ -46,7 +44,6 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; -import appeng.api.AEApi; import appeng.api.config.YesNo; import appeng.api.exceptions.FailedConnectionException; import appeng.api.implementations.parts.IPartCable; @@ -69,6 +66,7 @@ import appeng.client.render.cablebus.CableBusRenderState; import appeng.client.render.cablebus.CableCoreType; import appeng.client.render.cablebus.FacadeRenderState; import appeng.core.AELog; +import appeng.core.Api; import appeng.facade.FacadeContainer; import appeng.helpers.AEMultiTile; import appeng.me.GridConnection; @@ -550,7 +548,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I private void updateRedstone() { final TileEntity te = this.getTile(); - this.hasRedstone = te.getWorld().isBlockIndirectlyGettingPowered( te.getPos() ) != 0 ? YesNo.YES : YesNo.NO; + this.hasRedstone = te.getWorld().getRedstonePowerFromNeighbors( te.getPos() ) != 0 ? YesNo.YES : YesNo.NO; } private void updateDynamicRender() @@ -575,7 +573,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I { final EnumSet sides = EnumSet.allOf( Direction.class ); - for( final Direction s : Direction.VALUES ) + for( final Direction s : Direction.values() ) { if( this.getPart( s ) != null || this.isBlocked( s ) ) { @@ -930,7 +928,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I return light; } - public void writeToStream( final ByteBuf data ) throws IOException + public void writeToStream( final PacketBuffer data ) throws IOException { int sides = 0; for( int x = 0; x < 7; x++ ) @@ -951,8 +949,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I { final ItemStack is = p.getItemStack( PartItemStack.NETWORK ); - data.writeShort( Item.getIdFromItem( is.getItem() ) ); - data.writeShort( is.getItemDamage() ); + data.writeVarInt( Item.getIdFromItem( is.getItem() ) ); p.writeToStream( data ); } @@ -961,7 +958,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I this.getFacadeContainer().writeToStream( data ); } - public boolean readFromStream( final ByteBuf data ) throws IOException + public boolean readFromStream( final PacketBuffer data ) throws IOException { final byte sides = data.readByte(); @@ -974,13 +971,12 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I { IPart p = this.getPart( side ); - final short itemID = data.readShort(); - final short dmgValue = data.readShort(); + final int itemID = data.readVarInt(); final Item myItem = Item.getItemById( itemID ); final ItemStack current = p != null ? p.getItemStack( PartItemStack.NETWORK ) : null; - if( current != null && current.getItem() == myItem && current.getItemDamage() == dmgValue ) + if( current != null && current.getItem() == myItem ) { if( p.readFromStream( data ) ) { @@ -990,7 +986,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I else { this.removePart( side, false ); - side = this.addPart( new ItemStack( myItem, 1, dmgValue ), side, null, null ); + side = this.addPart( new ItemStack( myItem, 1 ), side, null, null ); if( side != null ) { p = this.getPart( side ); @@ -1018,7 +1014,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I public void writeToNBT( final CompoundNBT data ) { - data.setInteger( "hasRedstone", this.hasRedstone.ordinal() ); + data.putInt( "hasRedstone", this.hasRedstone.ordinal() ); final IFacadeContainer fc = this.getFacadeContainer(); for( final AEPartLocation s : AEPartLocation.values() ) @@ -1029,13 +1025,13 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I if( part != null ) { final CompoundNBT def = new CompoundNBT(); - part.getItemStack( PartItemStack.WORLD ).writeToNBT( def ); + part.getItemStack( PartItemStack.WORLD ).write( def ); final CompoundNBT extra = new CompoundNBT(); part.writeToNBT( extra ); - data.setTag( "def:" + this.getSide( part ).ordinal(), def ); - data.setTag( "extra:" + this.getSide( part ).ordinal(), extra ); + data.put( "def:" + this.getSide( part ).ordinal(), def ); + data.put( "extra:" + this.getSide( part ).ordinal(), extra ); } } } @@ -1062,21 +1058,21 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I public void readFromNBT( final CompoundNBT data ) { - if( data.hasKey( "hasRedstone" ) ) + if( data.contains( "hasRedstone" ) ) { - this.hasRedstone = YesNo.values()[data.getInteger( "hasRedstone" )]; + this.hasRedstone = YesNo.values()[data.getInt( "hasRedstone" )]; } for( int x = 0; x < 7; x++ ) { AEPartLocation side = AEPartLocation.fromOrdinal( x ); - final CompoundNBT def = data.getCompoundTag( "def:" + side.ordinal() ); - final CompoundNBT extra = data.getCompoundTag( "extra:" + side.ordinal() ); + final CompoundNBT def = data.getCompound( "def:" + side.ordinal() ); + final CompoundNBT extra = data.getCompound( "extra:" + side.ordinal() ); if( def != null && extra != null ) { IPart p = this.getPart( side ); - final ItemStack iss = new ItemStack( def ); + final ItemStack iss = ItemStack.read( def ); if( iss.isEmpty() ) { continue; diff --git a/src/main/java/appeng/parts/automation/PartAbstractFormationPlane.java b/src/main/java/appeng/parts/automation/PartAbstractFormationPlane.java index ad277685a..205c6a7f0 100644 --- a/src/main/java/appeng/parts/automation/PartAbstractFormationPlane.java +++ b/src/main/java/appeng/parts/automation/PartAbstractFormationPlane.java @@ -227,14 +227,14 @@ public abstract class PartAbstractFormationPlane> extends public void readFromNBT( final CompoundNBT data ) { super.readFromNBT( data ); - this.priority = data.getInteger( "priority" ); + this.priority = data.getInt( "priority" ); } @Override public void writeToNBT( final CompoundNBT data ) { super.writeToNBT( data ); - data.setInteger( "priority", this.getPriority() ); + data.putInt( "priority", this.getPriority() ); } @Override diff --git a/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java b/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java index 80d795915..81b5267ba 100644 --- a/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java +++ b/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java @@ -24,12 +24,10 @@ import java.util.List; import com.google.common.collect.Lists; import net.minecraft.block.BlockState; -import net.minecraft.entity.item.I -import net.minecraft.entity.item.ItemEntity; +import net.minecraft.block.Blocks; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem;temEntity; -import net.minecraft.block.Blocks; +import net.minecraft.entity.item.ItemEntity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; @@ -37,9 +35,8 @@ import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; -import net.minecraft.world.WorldServer; +import net.minecraft.world.server.ServerWorld; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; import appeng.api.networking.IGridNode; @@ -60,6 +57,7 @@ import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.settings.TickRates; import appeng.core.sync.packets.PacketTransitionEffect; @@ -228,25 +226,24 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab @Override public void onEntityCollision( final Entity entity ) { - if( this.isAccepting && entity instanceof EntityItem && !entity.isDead && Platform.isServer() && this.getProxy().isActive() ) + if( this.isAccepting && entity instanceof ItemEntity && entity.isAlive() && Platform.isServer() && this.getProxy().isActive() ) { boolean capture = false; final BlockPos pos = this.getTile().getPos(); // This is the middle point of the entities BB, which is better suited for comparisons that don't rely on it // "touching" the plane - double posYMiddle = ( entity.getEntityBoundingBox().minY + entity.getEntityBoundingBox().maxY ) / 2.0D; + double posYMiddle = ( entity.getBoundingBox().minY + entity.getBoundingBox().maxY ) / 2.0D; switch( this.getSide() ) { case DOWN: case UP: - if( entity.posX > pos.getX() && entity.posX < pos.getX() + 1 ) + if( entity.getPosX() > pos.getX() && entity.getPosX() < pos.getX() + 1 ) { - if( entity.posZ > pos.getZ() && entity.posZ < pos.getZ() + 1 ) + if( entity.getPosZ() > pos.getZ() && entity.getPosZ() < pos.getZ() + 1 ) { - if( ( entity.posY > pos.getY() + 0.9 && this.getSide() == AEPartLocation.UP ) || ( entity.posY < pos.getY() + 0.1 && this - .getSide() == AEPartLocation.DOWN ) ) + if( ( entity.getPosY() > pos.getY() + 0.9 && this.getSide() == AEPartLocation.UP ) || ( entity.getPosY() < pos.getY() + 0.1 && this.getSide() == AEPartLocation.DOWN ) ) { capture = true; } @@ -255,12 +252,11 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab break; case SOUTH: case NORTH: - if( entity.posX > pos.getX() && entity.posX < pos.getX() + 1 ) + if( entity.getPosX() > pos.getX() && entity.getPosX() < pos.getX() + 1 ) { if( posYMiddle > pos.getY() && posYMiddle < pos.getY() + 1 ) { - if( ( entity.posZ > pos.getZ() + 0.9 && this.getSide() == AEPartLocation.SOUTH ) || ( entity.posZ < pos.getZ() + 0.1 && this - .getSide() == AEPartLocation.NORTH ) ) + if( ( entity.getPosZ() > pos.getZ() + 0.9 && this.getSide() == AEPartLocation.SOUTH ) || ( entity.getPosZ() < pos.getZ() + 0.1 && this.getSide() == AEPartLocation.NORTH ) ) { capture = true; } @@ -269,12 +265,11 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab break; case EAST: case WEST: - if( entity.posZ > pos.getZ() && entity.posZ < pos.getZ() + 1 ) + if( entity.getPosZ() > pos.getZ() && entity.getPosZ() < pos.getZ() + 1 ) { if( posYMiddle > pos.getY() && posYMiddle < pos.getY() + 1 ) { - if( ( entity.posX > pos.getX() + 0.9 && this.getSide() == AEPartLocation.EAST ) || ( entity.posX < pos.getX() + 0.1 && this - .getSide() == AEPartLocation.WEST ) ) + if( ( entity.getPosX() > pos.getX() + 0.9 && this.getSide() == AEPartLocation.EAST ) || ( entity.getPosX() < pos.getX() + 0.1 && this.getSide() == AEPartLocation.WEST ) ) { capture = true; } @@ -292,8 +287,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab if( changed ) { - AppEng.proxy.sendToAllNearExcept( null, pos.getX(), pos.getY(), pos.getZ(), 64, this.getTile().getWorld(), - new PacketTransitionEffect( entity.posX, entity.posY, entity.posZ, this.getSide(), false ) ); + AppEng.proxy.sendToAllNearExcept( null, pos.getX(), pos.getY(), pos.getZ(), 64, this.getTile().getWorld(), new PacketTransitionEffect( entity.getPosX(), entity.getPosY(), entity.getPosZ(), this.getSide(), false ) ); } } } @@ -306,13 +300,13 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab } /** - * Stores an {@link EntityItem} inside the network and either marks it as dead or sets it to the leftover stackSize. + * Stores an {@link ItemEntity} inside the network and either marks it as dead or sets it to the leftover stackSize. * - * @param entityItem {@link EntityItem} to store + * @param entityItem {@link ItemEntity} to store */ private boolean storeEntityItem( final ItemEntity entityItem ) { - if( !entityItem.isDead ) + if( entityItem.isAlive() ) { final IAEItemStack overflow = this.storeItemStack( entityItem.getItem() ); @@ -336,8 +330,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab { final IStorageGrid storage = this.getProxy().getStorage(); final IEnergyGrid energy = this.getProxy().getEnergy(); - final IAEItemStack overflow = Platform.poweredInsert( energy, - storage.getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ), itemToStore, this.mySrc ); + final IAEItemStack overflow = Platform.poweredInsert( energy, storage.getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ), itemToStore, this.mySrc ); this.isAccepting = overflow == null; @@ -361,11 +354,11 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab * * @return true, if the entity was changed otherwise false. */ - private boolean handleOverflow( final EntityItem entityItem, final IAEItemStack overflow ) + private boolean handleOverflow( final ItemEntity entityItem, final IAEItemStack overflow ) { if( overflow == null || overflow.getStackSize() == 0 ) { - entityItem.setDead(); + entityItem.remove(); return true; } @@ -411,7 +404,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab try { final TileEntity te = this.getTile(); - final WorldServer w = (WorldServer) te.getWorld(); + final ServerWorld w = (ServerWorld) te.getWorld(); final BlockPos pos = te.getPos().offset( this.getSide().getFacing() ); final IEnergyGrid energy = this.getProxy().getEnergy(); @@ -430,8 +423,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab { energy.extractAEPower( requiredPower, Actionable.MODULATE, PowerMultiplier.CONFIG ); this.breakBlockAndStoreItems( w, pos ); - AppEng.proxy.sendToAllNearExcept( null, pos.getX(), pos.getY(), pos.getZ(), 64, w, - new PacketTransitionEffect( pos.getX(), pos.getY(), pos.getZ(), this.getSide(), true ) ); + AppEng.proxy.sendToAllNearExcept( null, pos.getX(), pos.getY(), pos.getZ(), 64, w, new PacketTransitionEffect( pos.getX(), pos.getY(), pos.getZ(), this.getSide(), true ) ); } else { @@ -473,21 +465,18 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab /** * Checks if this plane can handle the block at the specific coordinates. */ - private boolean canHandleBlock( final WorldServer w, final BlockPos pos ) + private boolean canHandleBlock( final ServerWorld w, final BlockPos pos ) { final BlockState state = w.getBlockState( pos ); final Material material = state.getMaterial(); final float hardness = state.getBlockHardness( w, pos ); final boolean ignoreMaterials = material == Material.AIR || material == Material.LAVA || material == Material.WATER || material.isLiquid(); - final boolean ignoreBlocks = state.getBlock() == Blocks.BEDROCK || state.getBlock() == Blocks.END_PORTAL || state - .getBlock() == Blocks.END_PORTAL_FRAME || state.getBlock() == Blocks.COMMAND_BLOCK; + final boolean ignoreBlocks = state.getBlock() == Blocks.BEDROCK || state.getBlock() == Blocks.END_PORTAL || state.getBlock() == Blocks.END_PORTAL_FRAME || state.getBlock() == Blocks.COMMAND_BLOCK; - return !ignoreMaterials && !ignoreBlocks && hardness >= 0f && !w.isAirBlock( pos ) && w.isBlockLoaded( pos ) && w.canMineBlockBody( - Platform.getPlayer( w ), - pos ); + return !ignoreMaterials && !ignoreBlocks && hardness >= 0f && !w.isAirBlock( pos ) && w.isBlockLoaded( pos ) && w.canMineBlockBody( Platform.getPlayer( w ), pos ); } - protected List obtainBlockDrops( final WorldServer w, final BlockPos pos ) + protected List obtainBlockDrops( final ServerWorld w, final BlockPos pos ) { final ItemStack[] out = Platform.getBlockDrops( w, pos ); return Lists.newArrayList( out ); @@ -496,7 +485,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab /** * Checks if this plane can handle the block at the specific coordinates. */ - protected float calculateEnergyUsage( final WorldServer w, final BlockPos pos, final List items ) + protected float calculateEnergyUsage( final ServerWorld w, final BlockPos pos, final List items ) { final BlockState state = w.getBlockState( pos ); final float hardness = state.getBlockHardness( w, pos ); @@ -530,8 +519,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab for( final ItemStack itemStack : itemStacks ) { final IAEItemStack itemToTest = AEItemStack.fromItemStack( itemStack ); - final IAEItemStack overflow = storage.getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ) - .injectItems( itemToTest, Actionable.SIMULATE, this.mySrc ); + final IAEItemStack overflow = storage.getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ).injectItems( itemToTest, Actionable.SIMULATE, this.mySrc ); if( overflow == null || itemToTest.getStackSize() > overflow.getStackSize() ) { canStore = true; @@ -547,16 +535,16 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab return canStore; } - private void breakBlockAndStoreItems( final WorldServer w, final BlockPos pos ) + private void breakBlockAndStoreItems( final ServerWorld w, final BlockPos pos ) { w.destroyBlock( pos, true ); final AxisAlignedBB box = new AxisAlignedBB( pos ).grow( 0.2 ); - for( final Object ei : w.getEntitiesWithinAABB( EntityItem.class, box ) ) + for( final Object ei : w.getEntitiesWithinAABB( ItemEntity.class, box ) ) { - if( ei instanceof EntityItem ) + if( ei instanceof ItemEntity ) { - final EntityItem entityItem = (EntityItem) ei; + final ItemEntity entityItem = (ItemEntity) ei; this.storeEntityItem( entityItem ); } } @@ -581,5 +569,4 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab { return MODELS.getModel( this.getConnections(), this.isPowered(), this.isActive() ); } - } diff --git a/src/main/java/appeng/parts/automation/PartExportBus.java b/src/main/java/appeng/parts/automation/PartExportBus.java index cba343cb2..6f57d252c 100644 --- a/src/main/java/appeng/parts/automation/PartExportBus.java +++ b/src/main/java/appeng/parts/automation/PartExportBus.java @@ -54,6 +54,7 @@ import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AECableType; import appeng.core.AELog; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.settings.TickRates; import appeng.core.sync.GuiBridge; @@ -105,7 +106,7 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest { super.readFromNBT( extra ); this.craftingTracker.readFromNBT( extra ); - this.nextSlot = extra.getInteger( "nextSlot" ); + this.nextSlot = extra.getInt( "nextSlot" ); } @Override @@ -113,7 +114,7 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest { super.writeToNBT( extra ); this.craftingTracker.writeToNBT( extra ); - extra.setInteger( "nextSlot", this.nextSlot ); + extra.putInt( "nextSlot", this.nextSlot ); } @Override diff --git a/src/main/java/appeng/parts/automation/PartFormationPlane.java b/src/main/java/appeng/parts/automation/PartFormationPlane.java index 5e615673d..ab2b56343 100644 --- a/src/main/java/appeng/parts/automation/PartFormationPlane.java +++ b/src/main/java/appeng/parts/automation/PartFormationPlane.java @@ -68,6 +68,7 @@ import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import appeng.api.util.AEPartLocation; import appeng.core.AEConfig; +import appeng.core.Api; import appeng.core.sync.GuiBridge; import appeng.items.parts.PartModels; import appeng.me.GridAccessException; diff --git a/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java b/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java index ba658c2a6..44af72097 100644 --- a/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java +++ b/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java @@ -29,6 +29,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ServerWorld; +import net.minecraft.world.server.ServerWorld; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.FakePlayerFactory; diff --git a/src/main/java/appeng/parts/automation/PartImportBus.java b/src/main/java/appeng/parts/automation/PartImportBus.java index 40898123f..811ac698f 100644 --- a/src/main/java/appeng/parts/automation/PartImportBus.java +++ b/src/main/java/appeng/parts/automation/PartImportBus.java @@ -44,6 +44,7 @@ import appeng.api.storage.IMEMonitor; import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AECableType; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.settings.TickRates; import appeng.core.sync.GuiBridge; diff --git a/src/main/java/appeng/parts/automation/PartLevelEmitter.java b/src/main/java/appeng/parts/automation/PartLevelEmitter.java index 59e7220b8..28ebcea1e 100644 --- a/src/main/java/appeng/parts/automation/PartLevelEmitter.java +++ b/src/main/java/appeng/parts/automation/PartLevelEmitter.java @@ -23,19 +23,18 @@ import java.util.Collection; import java.util.Random; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.particles.RedstoneParticleData; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Hand; -import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.FuzzyMode; import appeng.api.config.LevelType; import appeng.api.config.RedstoneMode; @@ -71,6 +70,7 @@ import appeng.api.storage.data.IItemList; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.sync.GuiBridge; import appeng.helpers.Reflected; @@ -290,11 +290,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH { if( this.getInstalledUpgrades( Upgrades.FUZZY ) > 0 || myStack == null ) { - this.getProxy() - .getStorage() - .getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ) - .addListener( this, - this.getProxy().getGrid() ); + this.getProxy().getStorage().getInventory( Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) ).addListener( this, this.getProxy().getGrid() ); } else { @@ -362,8 +358,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH @Override public void onStackChange( final IItemList o, final IAEStack fullStack, final IAEStack diffStack, final IActionSource src, final IStorageChannel chan ) { - if( chan == Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) && fullStack.equals( this.config.getAEStackInSlot( 0 ) ) && this - .getInstalledUpgrades( Upgrades.FUZZY ) == 0 ) + if( chan == Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) && fullStack.equals( this.config.getAEStackInSlot( 0 ) ) && this.getInstalledUpgrades( Upgrades.FUZZY ) == 0 ) { this.lastReportedValue = fullStack.getStackSize(); this.updateState(); @@ -451,8 +446,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH final double d1 = d.yOffset * 0.45F + ( r.nextFloat() - 0.5F ) * 0.2D; final double d2 = d.zOffset * 0.45F + ( r.nextFloat() - 0.5F ) * 0.2D; - world.spawnParticle( EnumParticleTypes.REDSTONE, 0.5 + pos.getX() + d0, 0.5 + pos.getY() + d1, 0.5 + pos.getZ() + d2, 0.0D, 0.0D, 0.0D, - new int[0] ); + world.addParticle( RedstoneParticleData.REDSTONE_DUST, 0.5 + pos.getX() + d0, 0.5 + pos.getY() + d1, 0.5 + pos.getZ() + d2, 0.0D, 0.0D, 0.0D ); } } @@ -517,7 +511,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH super.writeToNBT( data ); data.putLong( "lastReportedValue", this.lastReportedValue ); data.putLong( "reportingValue", this.reportingValue ); - data.putBoolean("prevState", this.prevState); + data.putBoolean( "prevState", this.prevState ); this.config.writeToNBT( data, "config" ); } @@ -533,7 +527,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH } @Override - public boolean pushPattern( final ICraftingPatternDetails patternDetails, final InventoryCrafting table ) + public boolean pushPattern( final ICraftingPatternDetails patternDetails, final CraftingInventory table ) { return false; } diff --git a/src/main/java/appeng/parts/automation/PartSharedItemBus.java b/src/main/java/appeng/parts/automation/PartSharedItemBus.java index 2efdb94fb..25ce1a230 100644 --- a/src/main/java/appeng/parts/automation/PartSharedItemBus.java +++ b/src/main/java/appeng/parts/automation/PartSharedItemBus.java @@ -22,6 +22,7 @@ package appeng.parts.automation; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.ChunkPos; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.items.IItemHandler; @@ -103,7 +104,7 @@ public abstract class PartSharedItemBus extends PartUpgradeable implements IGrid { final World w = self.getWorld(); - if( w.getChunkProvider().getLoadedChunk( pos.getX() >> 4, pos.getZ() >> 4 ) != null ) + if( w.getChunkProvider().isChunkLoaded( new ChunkPos( pos ) ) ) { return w.getTileEntity( pos ); } @@ -145,11 +146,9 @@ public abstract class PartSharedItemBus extends PartUpgradeable implements IGrid { final TileEntity self = this.getHost().getTile(); final BlockPos selfPos = self.getPos().offset( this.getSide().getFacing() ); - final int xCoordinate = selfPos.getX(); - final int zCoordinate = selfPos.getZ(); final World world = self.getWorld(); - return world != null && world.getChunkProvider().getLoadedChunk( xCoordinate >> 4, zCoordinate >> 4 ) != null; + return world != null && world.getChunkProvider().isChunkLoaded( new ChunkPos( selfPos ) ); } private void updateState() diff --git a/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java b/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java index b469a737f..a9adb3b36 100644 --- a/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java +++ b/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java @@ -40,6 +40,7 @@ import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import appeng.core.AELog; +import appeng.core.Api; import appeng.me.GridAccessException; import appeng.me.helpers.IGridProxyable; import appeng.me.storage.ITickingMonitor; diff --git a/src/main/java/appeng/parts/misc/PartInterface.java b/src/main/java/appeng/parts/misc/PartInterface.java index 69bb07bd9..698a92b06 100644 --- a/src/main/java/appeng/parts/misc/PartInterface.java +++ b/src/main/java/appeng/parts/misc/PartInterface.java @@ -25,7 +25,7 @@ import java.util.List; import com.google.common.collect.ImmutableSet; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; @@ -36,7 +36,6 @@ import net.minecraft.util.math.Vec3d; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.Upgrades; import appeng.api.networking.IGridNode; @@ -58,6 +57,7 @@ import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEStack; import appeng.api.util.AECableType; import appeng.api.util.IConfigManager; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.sync.GuiBridge; import appeng.helpers.DualityInterface; @@ -230,7 +230,7 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto } @Override - public boolean pushPattern( final ICraftingPatternDetails patternDetails, final InventoryCrafting table ) + public boolean pushPattern( final ICraftingPatternDetails patternDetails, final CraftingInventory table ) { return this.duality.pushPattern( patternDetails, table ); } diff --git a/src/main/java/appeng/parts/misc/PartSharedStorageBus.java b/src/main/java/appeng/parts/misc/PartSharedStorageBus.java index 0a550b15e..ffce214e2 100644 --- a/src/main/java/appeng/parts/misc/PartSharedStorageBus.java +++ b/src/main/java/appeng/parts/misc/PartSharedStorageBus.java @@ -41,6 +41,7 @@ import appeng.api.storage.IStorageChannel; import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.util.AECableType; import appeng.api.util.IConfigManager; +import appeng.core.Api; import appeng.helpers.IPriorityHost; import appeng.me.GridAccessException; import appeng.parts.automation.PartUpgradeable; @@ -163,14 +164,14 @@ public abstract class PartSharedStorageBus extends PartUpgradeable implements IG public void readFromNBT( final CompoundNBT data ) { super.readFromNBT( data ); - this.priority = data.getInteger( "priority" ); + this.priority = data.getInt( "priority" ); } @Override public void writeToNBT( final CompoundNBT data ) { super.writeToNBT( data ); - data.setInteger( "priority", this.priority ); + data.putInt( "priority", this.priority ); } @Override diff --git a/src/main/java/appeng/parts/misc/PartStorageBus.java b/src/main/java/appeng/parts/misc/PartStorageBus.java index e3e90d696..91cb89ef3 100644 --- a/src/main/java/appeng/parts/misc/PartStorageBus.java +++ b/src/main/java/appeng/parts/misc/PartStorageBus.java @@ -33,6 +33,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockReader; +import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; @@ -72,6 +73,7 @@ import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; import appeng.capabilities.Capabilities; +import appeng.core.Api; import appeng.core.AppEng; import appeng.core.settings.TickRates; import appeng.core.sync.GuiBridge; @@ -194,7 +196,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC { super.readFromNBT( data ); this.Config.readFromNBT( data, "config" ); - this.priority = data.getInteger( "priority" ); + this.priority = data.getInt( "priority" ); } @Override @@ -202,7 +204,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC { super.writeToNBT( data ); this.Config.writeToNBT( data, "config" ); - data.setInteger( "priority", this.priority ); + data.putInt( "priority", this.priority ); } @Override @@ -378,10 +380,11 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC Direction targetSide = this.getSide().getFacing().getOpposite(); // Prioritize a handler to directly link to another ME network - IStorageMonitorableAccessor accessor = target.getCapability( Capabilities.STORAGE_MONITORABLE_ACCESSOR, targetSide ); + final LazyOptional accessorOpt = target.getCapability( Capabilities.STORAGE_MONITORABLE_ACCESSOR, targetSide ); - if( accessor != null ) + if( accessorOpt.isPresent() ) { + IStorageMonitorableAccessor accessor = accessorOpt.orElse( null ); IStorageMonitorable inventory = accessor.getInventory( this.mySrc ); if( inventory != null ) { @@ -396,16 +399,17 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC } // Check via cap for IItemHandler - IItemHandler handlerExt = target.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, targetSide ); - if( handlerExt != null ) + final LazyOptional handlerExtOpt = target.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, targetSide ); + if( handlerExtOpt.isPresent() ) { - return new ItemHandlerAdapter( handlerExt, this ); + return new ItemHandlerAdapter( handlerExtOpt.orElse( null ), this ); } return null; } + //TODO, LazyOptionals are cacheable this might need changing? private int createHandlerHash( TileEntity target ) { if( target == null ) @@ -415,15 +419,18 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC final Direction targetSide = this.getSide().getFacing().getOpposite(); - if( target.hasCapability( Capabilities.STORAGE_MONITORABLE_ACCESSOR, targetSide ) ) + final LazyOptional accessorOpt = target.getCapability( Capabilities.STORAGE_MONITORABLE_ACCESSOR, targetSide ); + + if( accessorOpt.isPresent() ) { - return Objects.hash( target, target.getCapability( Capabilities.STORAGE_MONITORABLE_ACCESSOR, targetSide ) ); + return Objects.hash( target, accessorOpt.orElse( null ) ); } - final IItemHandler itemHandler = target.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, targetSide ); + final LazyOptional itemHandlerOpt = target.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, targetSide ); - if( itemHandler != null ) + if( itemHandlerOpt.isPresent() ) { + IItemHandler itemHandler = itemHandlerOpt.orElse( null ); return Objects.hash( target, itemHandler, itemHandler.getSlots() ); } diff --git a/src/main/java/appeng/parts/misc/PartToggleBus.java b/src/main/java/appeng/parts/misc/PartToggleBus.java index 0760cd3b1..f43f5de3f 100644 --- a/src/main/java/appeng/parts/misc/PartToggleBus.java +++ b/src/main/java/appeng/parts/misc/PartToggleBus.java @@ -40,6 +40,7 @@ import appeng.api.parts.IPartModel; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.core.AELog; +import appeng.core.Api; import appeng.core.AppEng; import appeng.helpers.Reflected; import appeng.items.parts.PartModels; diff --git a/src/main/java/appeng/parts/networking/PartCable.java b/src/main/java/appeng/parts/networking/PartCable.java index a985efa9f..35236c1bb 100644 --- a/src/main/java/appeng/parts/networking/PartCable.java +++ b/src/main/java/appeng/parts/networking/PartCable.java @@ -47,6 +47,7 @@ import appeng.api.util.AECableType; import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.api.util.IReadOnlyCollection; +import appeng.core.Api; import appeng.items.parts.ItemPart; import appeng.me.GridAccessException; import appeng.parts.AEBasePart; @@ -283,7 +284,7 @@ public class PartCable extends AEBasePart implements IPartCable howMany = Math.max( gc.getUsedChannels(), howMany ); } - data.setByte( "usedChannels", (byte) howMany ); + data.putByte( "usedChannels", (byte) howMany ); } } } diff --git a/src/main/java/appeng/parts/p2p/PartP2PFEPower.java b/src/main/java/appeng/parts/p2p/PartP2PFEPower.java index 901579ea5..af0cc3a01 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PFEPower.java +++ b/src/main/java/appeng/parts/p2p/PartP2PFEPower.java @@ -20,13 +20,13 @@ package appeng.parts.p2p; import java.util.List; - import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.energy.IEnergyStorage; import appeng.api.config.PowerUnits; @@ -68,17 +68,18 @@ public class PartP2PFEPower extends PartP2PTunnel private IEnergyStorage getAttachedEnergyStorage() { + LazyOptional energyStorageOpt = LazyOptional.empty(); if( this.isActive() ) { final TileEntity self = this.getTile(); final TileEntity te = self.getWorld().getTileEntity( self.getPos().offset( this.getSide().getFacing() ) ); - if( te != null && te.hasCapability( Capabilities.FORGE_ENERGY, this.getSide().getOpposite().getFacing() ) ) + if( te != null ) { - return te.getCapability( Capabilities.FORGE_ENERGY, this.getSide().getOpposite().getFacing() ); + energyStorageOpt = te.getCapability( Capabilities.FORGE_ENERGY, this.getSide().getOpposite().getFacing() ); } } - return NULL_ENERGY_STORAGE; + return energyStorageOpt.orElse( NULL_ENERGY_STORAGE ); } @Override @@ -206,6 +207,7 @@ public class PartP2PFEPower extends PartP2PTunnel } } + private class OutputEnergyStorage implements IEnergyStorage { @Override @@ -252,6 +254,7 @@ public class PartP2PFEPower extends PartP2PTunnel } } + private static class NullEnergyStorage implements IEnergyStorage { @@ -290,6 +293,5 @@ public class PartP2PFEPower extends PartP2PTunnel { return false; } - } } diff --git a/src/main/java/appeng/parts/p2p/PartP2PFluids.java b/src/main/java/appeng/parts/p2p/PartP2PFluids.java index d16b5e21f..468e5651b 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PFluids.java +++ b/src/main/java/appeng/parts/p2p/PartP2PFluids.java @@ -25,12 +25,12 @@ import java.util.Deque; import java.util.Iterator; import java.util.List; +import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.FluidTankProperties; @@ -194,10 +194,10 @@ public class PartP2PFluids extends PartP2PTunnel implements IFlui throw new IllegalStateException( "Invalid Recursion detected." ); } - return Math.min( resource.amount, requestTotal ); + return Math.min( resource.getAmount(), requestTotal ); } - int available = resource.amount; + int available = resource.getAmount(); i = list.iterator(); int used = 0; @@ -207,10 +207,10 @@ public class PartP2PFluids extends PartP2PTunnel implements IFlui final PartP2PFluids l = i.next(); final FluidStack insert = resource.copy(); - insert.amount = (int) Math.ceil( insert.amount * ( (double) l.tmpUsed / (double) requestTotal ) ); - if( insert.amount > available ) + insert.setAmount( (int) Math.ceil( insert.getAmount() * ( (double) l.tmpUsed / (double) requestTotal ) ) ); + if( insert.getAmount() > available ) { - insert.amount = available; + insert.setAmount( available ); } final IFluidHandler tank = l.getTarget(); @@ -223,7 +223,7 @@ public class PartP2PFluids extends PartP2PTunnel implements IFlui l.tmpUsed = 0; } - available -= insert.amount; + available -= insert.getAmount(); used += l.tmpUsed; } @@ -306,4 +306,4 @@ public class PartP2PFluids extends PartP2PTunnel implements IFlui return null; } -} \ No newline at end of file +} diff --git a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java index 6462369fa..64e9c07b0 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java +++ b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java @@ -48,6 +48,7 @@ import appeng.api.util.AECableType; import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.core.AEConfig; +import appeng.core.Api; import appeng.me.GridAccessException; import appeng.me.cache.P2PCache; import appeng.me.cache.helpers.TunnelCollection; diff --git a/src/main/java/appeng/parts/p2p/PartP2PTunnelME.java b/src/main/java/appeng/parts/p2p/PartP2PTunnelME.java index 094d24e60..d9fc5d812 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PTunnelME.java +++ b/src/main/java/appeng/parts/p2p/PartP2PTunnelME.java @@ -42,6 +42,7 @@ import appeng.api.parts.IPartModel; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.core.AELog; +import appeng.core.Api; import appeng.core.settings.TickRates; import appeng.hooks.TickHandler; import appeng.items.parts.PartModels; diff --git a/src/main/java/appeng/tile/AEBaseTile.java b/src/main/java/appeng/tile/AEBaseTile.java index dcf29d357..496e548fb 100644 --- a/src/main/java/appeng/tile/AEBaseTile.java +++ b/src/main/java/appeng/tile/AEBaseTile.java @@ -37,15 +37,14 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.NetworkManager; +import net.minecraft.network.PacketBuffer; import net.minecraft.network.play.server.SUpdateTileEntityPacket; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.items.IItemHandler; -import appeng.api.implementations.tiles.ISegmentedInventory; import appeng.api.util.ICommonTile; import appeng.api.util.IConfigManager; import appeng.api.util.IConfigurableObject; @@ -180,7 +179,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile, { final CompoundNBT data = new CompoundNBT(); - final ByteBuf stream = Unpooled.buffer(); + final PacketBuffer stream = new PacketBuffer( Unpooled.buffer() ); try { @@ -273,7 +272,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile, return false; } - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { if( this.canBeRotated() ) { diff --git a/src/main/java/appeng/tile/crafting/TileCraftingMonitorTile.java b/src/main/java/appeng/tile/crafting/TileCraftingMonitorTile.java index b8c040509..a4e8e63f2 100644 --- a/src/main/java/appeng/tile/crafting/TileCraftingMonitorTile.java +++ b/src/main/java/appeng/tile/crafting/TileCraftingMonitorTile.java @@ -27,11 +27,11 @@ import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import appeng.api.AEApi; import appeng.api.implementations.tiles.IColorableTile; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AEColor; @@ -73,7 +73,7 @@ public class TileCraftingMonitorTile extends TileCraftingTile implements IColora } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeByte( this.paintedColor.ordinal() ); diff --git a/src/main/java/appeng/tile/crafting/TileMolecularAssembler.java b/src/main/java/appeng/tile/crafting/TileMolecularAssembler.java index dc1967164..dcef7d1f8 100644 --- a/src/main/java/appeng/tile/crafting/TileMolecularAssembler.java +++ b/src/main/java/appeng/tile/crafting/TileMolecularAssembler.java @@ -27,6 +27,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; @@ -36,7 +37,6 @@ import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; import appeng.api.config.RedstoneMode; @@ -206,7 +206,7 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IUpgrade } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeBoolean( this.isPowered ); diff --git a/src/main/java/appeng/tile/grindstone/TileCrank.java b/src/main/java/appeng/tile/grindstone/TileCrank.java index 571702e69..fc938e2b6 100644 --- a/src/main/java/appeng/tile/grindstone/TileCrank.java +++ b/src/main/java/appeng/tile/grindstone/TileCrank.java @@ -27,6 +27,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.ITickable; @@ -98,7 +99,7 @@ public class TileCrank extends AEBaseTile implements ICustomCollision, ITickable } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeInt( this.rotation ); diff --git a/src/main/java/appeng/tile/misc/TileCharger.java b/src/main/java/appeng/tile/misc/TileCharger.java index fff82dfca..da2fd142e 100644 --- a/src/main/java/appeng/tile/misc/TileCharger.java +++ b/src/main/java/appeng/tile/misc/TileCharger.java @@ -28,10 +28,10 @@ import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; import appeng.api.config.PowerUnits; @@ -97,7 +97,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable, IGrid } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); final AEItemStack is = AEItemStack.fromItemStack( this.inv.getStackInSlot( 0 ) ); diff --git a/src/main/java/appeng/tile/misc/TileInscriber.java b/src/main/java/appeng/tile/misc/TileInscriber.java index 3e4c1ec59..c1bc98db2 100644 --- a/src/main/java/appeng/tile/misc/TileInscriber.java +++ b/src/main/java/appeng/tile/misc/TileInscriber.java @@ -32,13 +32,13 @@ import io.netty.buffer.ByteBuf; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandlerModifiable; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; import appeng.api.config.Upgrades; @@ -180,7 +180,7 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable, } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); int slot = this.isSmash() ? 64 : 0; diff --git a/src/main/java/appeng/tile/misc/TileInterface.java b/src/main/java/appeng/tile/misc/TileInterface.java index d499912c0..b23a8c759 100644 --- a/src/main/java/appeng/tile/misc/TileInterface.java +++ b/src/main/java/appeng/tile/misc/TileInterface.java @@ -32,6 +32,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; @@ -39,7 +40,6 @@ import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.Upgrades; import appeng.api.networking.IGridNode; @@ -194,7 +194,7 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, II } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeBoolean( this.omniDirectional ); diff --git a/src/main/java/appeng/tile/misc/TilePaint.java b/src/main/java/appeng/tile/misc/TilePaint.java index b2636c8b0..5349df451 100644 --- a/src/main/java/appeng/tile/misc/TilePaint.java +++ b/src/main/java/appeng/tile/misc/TilePaint.java @@ -32,6 +32,7 @@ import io.netty.buffer.Unpooled; import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; @@ -139,7 +140,7 @@ public class TilePaint extends AEBaseTile } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); this.writeBuffer( data ); diff --git a/src/main/java/appeng/tile/misc/TileQuartzGrowthAccelerator.java b/src/main/java/appeng/tile/misc/TileQuartzGrowthAccelerator.java index 9ba128052..eee23afac 100644 --- a/src/main/java/appeng/tile/misc/TileQuartzGrowthAccelerator.java +++ b/src/main/java/appeng/tile/misc/TileQuartzGrowthAccelerator.java @@ -24,6 +24,7 @@ import java.util.EnumSet; import io.netty.buffer.ByteBuf; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import appeng.api.implementations.IPowerChannelState; @@ -71,7 +72,7 @@ public class TileQuartzGrowthAccelerator extends AENetworkTile implements IPower } @Override - public void writeToStream( final ByteBuf data ) throws IOException + public void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); try diff --git a/src/main/java/appeng/tile/misc/TileSecurityStation.java b/src/main/java/appeng/tile/misc/TileSecurityStation.java index 54035145c..ecf3c0bfc 100644 --- a/src/main/java/appeng/tile/misc/TileSecurityStation.java +++ b/src/main/java/appeng/tile/misc/TileSecurityStation.java @@ -31,13 +31,13 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.SecurityPermissions; import appeng.api.config.Settings; import appeng.api.config.SortDir; @@ -150,7 +150,7 @@ public class TileSecurityStation extends AENetworkTile implements ITerminalHost, } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeBoolean( this.getProxy().isActive() ); diff --git a/src/main/java/appeng/tile/misc/TileVibrationChamber.java b/src/main/java/appeng/tile/misc/TileVibrationChamber.java index 7045b1cdb..720eaecd6 100644 --- a/src/main/java/appeng/tile/misc/TileVibrationChamber.java +++ b/src/main/java/appeng/tile/misc/TileVibrationChamber.java @@ -28,6 +28,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.Direction; import net.minecraftforge.items.IItemHandler; @@ -91,7 +92,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeBoolean( this.getBurnTime() > 0 ); diff --git a/src/main/java/appeng/tile/networking/TileCableBus.java b/src/main/java/appeng/tile/networking/TileCableBus.java index 3e1463ba0..075786525 100644 --- a/src/main/java/appeng/tile/networking/TileCableBus.java +++ b/src/main/java/appeng/tile/networking/TileCableBus.java @@ -31,6 +31,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.AxisAlignedBB; @@ -98,7 +99,7 @@ public class TileCableBus extends AEBaseTile implements AEMultiTile, ICustomColl } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); this.getCableBus().writeToStream( data ); diff --git a/src/main/java/appeng/tile/networking/TileWireless.java b/src/main/java/appeng/tile/networking/TileWireless.java index 9d0ddbc5b..0354ee27b 100644 --- a/src/main/java/appeng/tile/networking/TileWireless.java +++ b/src/main/java/appeng/tile/networking/TileWireless.java @@ -25,10 +25,10 @@ import java.util.EnumSet; import io.netty.buffer.ByteBuf; import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.implementations.IPowerChannelState; import appeng.api.implementations.tiles.IWirelessAccessPoint; import appeng.api.networking.GridFlags; @@ -95,7 +95,7 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); this.setClientFlags( 0 ); diff --git a/src/main/java/appeng/tile/qnb/TileQuantumBridge.java b/src/main/java/appeng/tile/qnb/TileQuantumBridge.java index f16d65df7..3591e137c 100644 --- a/src/main/java/appeng/tile/qnb/TileQuantumBridge.java +++ b/src/main/java/appeng/tile/qnb/TileQuantumBridge.java @@ -28,13 +28,13 @@ import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.ITickable; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.wrapper.EmptyHandler; -import appeng.api.AEApi; import appeng.api.definitions.IBlockDefinition; import appeng.api.networking.GridFlags; import appeng.api.networking.events.MENetworkEventSubscribe; @@ -87,7 +87,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); int out = this.constructed; diff --git a/src/main/java/appeng/tile/spatial/TileSpatialPylon.java b/src/main/java/appeng/tile/spatial/TileSpatialPylon.java index 5ed878ff1..3f6c0afd3 100644 --- a/src/main/java/appeng/tile/spatial/TileSpatialPylon.java +++ b/src/main/java/appeng/tile/spatial/TileSpatialPylon.java @@ -24,6 +24,7 @@ import java.util.EnumSet; import io.netty.buffer.ByteBuf; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import appeng.api.networking.GridFlags; @@ -226,7 +227,7 @@ public class TileSpatialPylon extends AENetworkTile implements IAEMultiBlock } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeByte( this.displayBits ); diff --git a/src/main/java/appeng/tile/storage/TileChest.java b/src/main/java/appeng/tile/storage/TileChest.java index 538f6e86d..622d2d9d9 100644 --- a/src/main/java/appeng/tile/storage/TileChest.java +++ b/src/main/java/appeng/tile/storage/TileChest.java @@ -31,6 +31,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.Direction; import net.minecraft.util.ITickable; import net.minecraftforge.common.capabilities.Capability; @@ -42,7 +43,6 @@ import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.IFluidTankProperties; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; @@ -383,7 +383,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); diff --git a/src/main/java/appeng/tile/storage/TileDrive.java b/src/main/java/appeng/tile/storage/TileDrive.java index 0e355a8ba..d3007032e 100644 --- a/src/main/java/appeng/tile/storage/TileDrive.java +++ b/src/main/java/appeng/tile/storage/TileDrive.java @@ -31,9 +31,9 @@ import io.netty.buffer.ByteBuf; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.network.PacketBuffer; import net.minecraftforge.items.IItemHandler; -import appeng.api.AEApi; import appeng.api.implementations.tiles.IChestOrDrive; import appeng.api.networking.GridFlags; import appeng.api.networking.events.MENetworkCellArrayUpdate; @@ -104,7 +104,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior } @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); int newState = 0; diff --git a/src/main/java/appeng/tile/storage/TileSkyChest.java b/src/main/java/appeng/tile/storage/TileSkyChest.java index fc722b436..1020be483 100644 --- a/src/main/java/appeng/tile/storage/TileSkyChest.java +++ b/src/main/java/appeng/tile/storage/TileSkyChest.java @@ -26,6 +26,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; import net.minecraft.util.ITickable; import net.minecraft.util.SoundCategory; import net.minecraftforge.items.IItemHandler; @@ -47,7 +48,7 @@ public class TileSkyChest extends AEBaseInvTile implements ITickable private float prevLidAngle; @Override - protected void writeToStream( final ByteBuf data ) throws IOException + protected void writeToStream( final PacketBuffer data ) throws IOException { super.writeToStream( data ); data.writeBoolean( this.getPlayerOpen() > 0 ); diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index dd03ddf81..1c65416ce 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -56,9 +56,11 @@ import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.common.util.FakePlayerFactory; import net.minecraftforge.fml.common.thread.SidedThreadGroups; import net.minecraftforge.fml.loading.FMLEnvironment; +import java.security.InvalidParameterException; import java.util.*; import com.google.common.base.Preconditions; @@ -653,23 +655,20 @@ public class Platform // return false; // } // -// public static PlayerEntity getPlayer(final ServerWorld w ) -// { -// if( w == null ) -// { -// throw new InvalidParameterException( "World is null." ); -// } -// -// final PlayerEntity wrp = FAKE_PLAYERS.get( w ); -// if( wrp != null ) -// { -// return wrp; -// } -// -// final PlayerEntity p = FakePlayerFactory.getMinecraft( w ); -// FAKE_PLAYERS.put( w, p ); -// return p; -// } + public static PlayerEntity getPlayer(final ServerWorld w ) + { + Objects.requireNonNull( w ); + + final PlayerEntity wrp = FAKE_PLAYERS.get( w ); + if( wrp != null ) + { + return wrp; + } + + final PlayerEntity p = FakePlayerFactory.getMinecraft( w ); + FAKE_PLAYERS.put( w, p ); + return p; + } // // public static int MC2MEColor( final int color ) // { diff --git a/src/main/java/appeng/util/item/ItemModList.java b/src/main/java/appeng/util/item/ItemModList.java index de573e3d7..3e09522c6 100644 --- a/src/main/java/appeng/util/item/ItemModList.java +++ b/src/main/java/appeng/util/item/ItemModList.java @@ -21,11 +21,11 @@ package appeng.util.item; import java.util.Collection; -import appeng.api.AEApi; import appeng.api.config.FuzzyMode; import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemContainer; +import appeng.core.Api; public class ItemModList implements IItemContainer