Lots of compile fixes

This commit is contained in:
Sebastian Hartte
2020-06-04 03:02:48 +02:00
parent 6eb2a9504a
commit 237463dd94
241 changed files with 3438 additions and 3474 deletions
@@ -26,18 +26,21 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import appeng.core.Api;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.PacketBuffer;
import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidTank;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.FluidTankProperties;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.IFluidTankProperties;
import net.minecraftforge.items.IItemHandler;
import appeng.api.config.AccessRestriction;
@@ -84,7 +87,7 @@ import appeng.api.storage.data.IAEStack;
import appeng.api.util.AEColor;
import appeng.api.util.IConfigManager;
import appeng.capabilities.Capabilities;
import appeng.core.sync.GuiBridge;
import appeng.fluids.util.AEFluidStack;
import appeng.helpers.IPriorityHost;
import appeng.me.GridAccessException;
@@ -121,8 +124,8 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
private Accessor accessor;
private IFluidHandler fluidHandler;
public TileChest()
{
public TileChest(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn);
this.setInternalMaxPower( PowerMultiplier.CONFIG.multiply( 40 ) );
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
this.config.registerSetting( Settings.SORT_BY, SortOrder.NAME );
@@ -311,7 +314,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
@Override
public boolean isCellBlinking( final int slot )
{
final long now = this.world.getTotalWorldTime();
final long now = this.world.getGameTime();
if( now - this.lastStateChange > 8 )
{
return false;
@@ -384,7 +387,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
{
super.writeToStream( data );
if( this.world.getTotalWorldTime() - this.lastStateChange > 8 )
if( this.world.getGameTime() - this.lastStateChange > 8 )
{
this.state = 0;
}
@@ -422,7 +425,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
final AEColor oldPaintedColor = this.paintedColor;
this.paintedColor = AEColor.values()[data.readByte()];
this.lastStateChange = this.world.getTotalWorldTime();
this.lastStateChange = this.world.getGameTime();
return oldPaintedColor != this.paintedColor || ( this.state & 0xDB6DB6DB ) != ( oldState & 0xDB6DB6DB ) || c;
}
@@ -432,7 +435,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
{
super.read( data );
this.config.readFromNBT( data );
this.priority = data.getInteger( "priority" );
this.priority = data.getInt( "priority" );
if( data.contains("paintedColor") )
{
this.paintedColor = AEColor.values()[data.getByte( "paintedColor" )];
@@ -444,8 +447,8 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
{
super.write( data );
this.config.writeToNBT( data );
data.setInteger( "priority", this.priority );
data.setByte( "paintedColor", (byte) this.paintedColor.ordinal() );
data.putInt( "priority", this.priority );
data.putByte( "paintedColor", (byte) this.paintedColor.ordinal() );
return data;
}
@@ -589,7 +592,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
@Override
public void blinkCell( final int slot )
{
final long now = this.world.getTotalWorldTime();
final long now = this.world.getGameTime();
if( now - this.lastStateChange > 8 )
{
this.state = 0;
@@ -787,33 +790,18 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
}
}
@Override
public boolean hasCapability( Capability<?> capability, Direction facing )
{
this.updateHandler();
if( capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY && this.fluidHandler != null && facing != this.getForward() )
{
return true;
}
if( capability == Capabilities.STORAGE_MONITORABLE_ACCESSOR && this.accessor != null && facing != this.getForward() )
{
return true;
}
return super.hasCapability( capability, facing );
}
@SuppressWarnings( "unchecked" )
@Override
public <T> T getCapability( Capability<T> capability, @Nullable Direction facing )
public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing )
{
this.updateHandler();
if( capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY && this.fluidHandler != null && facing != this.getForward() )
{
return (T) this.fluidHandler;
return (LazyOptional<T>) LazyOptional.of(() -> this.fluidHandler);
}
if( capability == Capabilities.STORAGE_MONITORABLE_ACCESSOR && this.accessor != null && facing != this.getForward() )
{
return (T) this.accessor;
return (LazyOptional<T>) LazyOptional.of(() -> this.accessor);
}
return super.getCapability( capability, facing );
}
@@ -832,52 +820,82 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
}
}
private class FluidHandler implements IFluidHandler
private class FluidHandler implements IFluidHandler, IFluidTank
{
private final IFluidTankProperties[] TANK_PROPS = new IFluidTankProperties[] { new FluidTankProperties( null, FluidAttributes.BUCKET_VOLUME ) };
private boolean canAcceptLiquids() {
return TileChest.this.cellHandler != null && TileChest.this.cellHandler.getChannel() == Api.INSTANCE.storage().getStorageChannel(IFluidStorageChannel.class);
}
@Nonnull
@Override
public FluidStack getFluid() {
return FluidStack.EMPTY;
}
@Override
public int fill( final FluidStack resource, final boolean doFill )
{
TileChest.this.updateHandler();
if( TileChest.this.cellHandler != null && TileChest.this.cellHandler
.getChannel() == Api.INSTANCE.storage().getStorageChannel( IFluidStorageChannel.class ) )
{
final IAEFluidStack results = Platform.poweredInsert( TileChest.this, TileChest.this.cellHandler, AEFluidStack.fromFluidStack( resource ),
TileChest.this.mySrc, doFill ? Actionable.MODULATE : Actionable.SIMULATE );
if( results == null )
{
return resource.amount;
}
return resource.amount - (int) results.getStackSize();
}
public int getFluidAmount() {
return 0;
}
@Override
public FluidStack drain( final FluidStack resource, final boolean doDrain )
{
return null;
public int getCapacity() {
return canAcceptLiquids() ? FluidAttributes.BUCKET_VOLUME : 0;
}
@Override
public FluidStack drain( final int maxDrain, final boolean doDrain )
{
return null;
public boolean isFluidValid(FluidStack stack) {
return canAcceptLiquids();
}
@Override
public IFluidTankProperties[] getTankProperties()
{
public int getTanks() {
return 1;
}
@Nonnull
@Override
public FluidStack getFluidInTank(int tank) {
return FluidStack.EMPTY;
}
@Override
public int getTankCapacity(int tank) {
return tank == 0 ? FluidAttributes.BUCKET_VOLUME : 0;
}
@Override
public boolean isFluidValid(int tank, @Nonnull FluidStack stack) {
return tank == 0;
}
@Override
public int fill(FluidStack resource, FluidAction action) {
TileChest.this.updateHandler();
if( TileChest.this.cellHandler != null && TileChest.this.cellHandler
.getChannel() == Api.INSTANCE.storage().getStorageChannel( IFluidStorageChannel.class ) )
if( canAcceptLiquids() )
{
return this.TANK_PROPS;
final IAEFluidStack results = Platform.poweredInsert( TileChest.this, TileChest.this.cellHandler, AEFluidStack.fromFluidStack( resource ),
TileChest.this.mySrc, action == FluidAction.EXECUTE ? Actionable.MODULATE : Actionable.SIMULATE );
if( results == null )
{
return resource.getAmount();
}
return resource.getAmount() - (int) results.getStackSize();
}
return null;
return 0;
}
@Nonnull
@Override
public FluidStack drain(FluidStack resource, FluidAction action) {
return FluidStack.EMPTY;
}
@Nonnull
@Override
public FluidStack drain(int maxDrain, FluidAction action) {
return FluidStack.EMPTY;
}
}
@@ -925,22 +943,22 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, ITerminal
return Api.INSTANCE.definitions().blocks().chest().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
this.updateHandler();
if( this.cellHandler != null )
{
if( this.cellHandler.getChannel() == Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) )
{
return GuiBridge.GUI_ME;
}
if( this.cellHandler.getChannel() == Api.INSTANCE.storage().getStorageChannel( IFluidStorageChannel.class ) )
{
return GuiBridge.GUI_FLUID_TERMINAL;
}
}
return null;
}
// FIXME @Override
// FIXME public GuiBridge getGuiBridge()
// FIXME {
// FIXME this.updateHandler();
// FIXME if( this.cellHandler != null )
// FIXME {
// FIXME if( this.cellHandler.getChannel() == Api.INSTANCE.storage().getStorageChannel( IItemStorageChannel.class ) )
// FIXME {
// FIXME return GuiBridge.GUI_ME;
// FIXME }
// FIXME if( this.cellHandler.getChannel() == Api.INSTANCE.storage().getStorageChannel( IFluidStorageChannel.class ) )
// FIXME {
// FIXME return GuiBridge.GUI_FLUID_TERMINAL;
// FIXME }
// FIXME }
// FIXME return null;
// FIXME }
}
@@ -27,9 +27,11 @@ import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import appeng.core.Api;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.PacketBuffer;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.items.IItemHandler;
import appeng.api.implementations.tiles.IChestOrDrive;
@@ -50,7 +52,7 @@ import appeng.api.storage.data.IAEStack;
import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation;
import appeng.api.util.DimensionalCoord;
import appeng.core.sync.GuiBridge;
import appeng.helpers.IPriorityHost;
import appeng.me.GridAccessException;
import appeng.me.helpers.MachineSource;
@@ -93,8 +95,8 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
*/
private int state = 0;
public TileDrive()
{
public TileDrive(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn);
this.mySrc = new MachineSource( this );
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
this.inv.setFilter( new CellValidInventoryFilter() );
@@ -174,14 +176,14 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
{
super.read( data );
this.isCached = false;
this.priority = data.getInteger( "priority" );
this.priority = data.getInt( "priority" );
}
@Override
public CompoundNBT write(final CompoundNBT data )
{
super.write( data );
data.setInteger( "priority", this.priority );
data.putInt( "priority", this.priority );
return data;
}
@@ -403,9 +405,9 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
return Api.INSTANCE.definitions().blocks().drive().maybeStack( 1 ).orElse( ItemStack.EMPTY );
}
@Override
public GuiBridge getGuiBridge()
{
return GuiBridge.GUI_DRIVE;
}
// FIXME @Override
// FIXME public GuiBridge getGuiBridge()
// FIXME {
// FIXME return GuiBridge.GUI_DRIVE;
// FIXME }
}
@@ -23,9 +23,11 @@ import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import appeng.core.Api;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -95,8 +97,8 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
private ItemStack currentCell;
private Map<IStorageChannel<?>, IMEInventory<?>> cachedInventories;
public TileIOPort()
{
public TileIOPort(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn);
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
this.manager = new ConfigManager( this );
this.manager.registerSetting( Settings.REDSTONE_CONTROLLED, RedstoneMode.IGNORE );
@@ -115,7 +117,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
super.write( data );
this.manager.writeToNBT( data );
this.upgrades.writeToNBT( data, "upgrades" );
data.setInteger( "lastRedstoneState", this.lastRedstoneState.ordinal() );
data.putInt( "lastRedstoneState", this.lastRedstoneState.ordinal() );
return data;
}
@@ -127,7 +129,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
this.upgrades.readFromNBT( data, "upgrades" );
if( data.contains("lastRedstoneState") )
{
this.lastRedstoneState = YesNo.values()[data.getInteger( "lastRedstoneState" )];
this.lastRedstoneState = YesNo.values()[data.getInt( "lastRedstoneState" )];
}
}
@@ -164,7 +166,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
public void updateRedstoneState()
{
final YesNo currentState = this.world.isBlockIndirectlyGettingPowered( this.pos ) != 0 ? YesNo.YES : YesNo.NO;
final YesNo currentState = this.world.getRedstonePowerFromNeighbors( this.pos ) != 0 ? YesNo.YES : YesNo.NO;
if( this.lastRedstoneState != currentState )
{
this.lastRedstoneState = currentState;
@@ -509,9 +511,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
* Adds the items in the upgrade slots to the drop list.
*
* @param w world
* @param x x pos of tile entity
* @param y y pos of tile entity
* @param z z pos of tile entity
* @param pos pos of tile entity
* @param drops drops of tile entity
*/
@Override