Implemented capabilities for cable buses in a way that dispatches the capabilities to the parts on the appropriate attachment point. Implemented the capabilities for interface parts and tiles to provide a proof of concept.

This commit is contained in:
Sebastian Hartte
2016-09-30 23:53:54 +02:00
parent 8666936646
commit 882f240307
5 changed files with 104 additions and 0 deletions
@@ -22,6 +22,8 @@ package appeng.tile.misc;
import java.util.EnumSet;
import java.util.List;
import javax.annotation.Nullable;
import com.google.common.collect.ImmutableSet;
import io.netty.buffer.ByteBuf;
@@ -34,6 +36,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability;
import appeng.api.config.Actionable;
import appeng.api.config.Upgrades;
@@ -364,4 +367,16 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, IT
return this.omniDirectional;
}
@Override
public boolean hasCapability( Capability<?> capability, @Nullable EnumFacing facing )
{
return this.duality.hasCapability( capability, facing );
}
@Override
public <T> T getCapability( Capability<T> capability, @Nullable EnumFacing facing )
{
return this.duality.getCapability( capability, facing );
}
}