Small fixes

This commit is contained in:
raoulvdberge
2019-10-25 23:30:33 +02:00
parent 95118482c6
commit 3f1280327a
39 changed files with 60 additions and 391 deletions

View File

@@ -79,7 +79,7 @@ public final class RSBlocks {
@ObjectHolder(RS.ID + ":creative_portable_grid")
public static final PortableGridBlock CREATIVE_PORTABLE_GRID = null;
public static final BlockCraftingMonitor CRAFTING_MONITOR = new BlockCraftingMonitor();
public static final BlockCrafter CRAFTER = new BlockCrafter();
public static final BlockCrafterManager CRAFTER_MANAGER = new BlockCrafterManager();
public static final BlockCraftingMonitor CRAFTING_MONITOR = null;
public static final BlockCrafter CRAFTER = null;
public static final BlockCrafterManager CRAFTER_MANAGER = null;
}

View File

@@ -13,7 +13,7 @@ import com.raoulvdberge.refinedstorage.api.util.IFilter;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridStorageCacheListener;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.ItemGridStorageCacheListener;
import com.raoulvdberge.refinedstorage.block.NodeBlock;
import com.raoulvdberge.refinedstorage.block.NetworkNodeBlock;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
@@ -363,7 +363,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
@Override
public boolean isActive() {
return world.getBlockState(pos).get(NodeBlock.CONNECTED);
return world.getBlockState(pos).get(NetworkNodeBlock.CONNECTED);
}
@Override

View File

@@ -6,7 +6,7 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.block.BaseBlock;
import com.raoulvdberge.refinedstorage.block.NodeBlock;
import com.raoulvdberge.refinedstorage.block.NetworkNodeBlock;
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
import net.minecraft.block.BlockState;
import net.minecraft.item.Item;
@@ -140,8 +140,8 @@ public abstract class NetworkNode implements INetworkNode, INetworkNodeVisitor {
BlockState blockState = world.getBlockState(pos);
if (blockState.getBlock() instanceof NodeBlock && ((NodeBlock) blockState.getBlock()).hasConnectedState()) {
world.setBlockState(pos, world.getBlockState(pos).with(NodeBlock.CONNECTED, canUpdate));
if (blockState.getBlock() instanceof NetworkNodeBlock && ((NetworkNodeBlock) blockState.getBlock()).hasConnectedState()) {
world.setBlockState(pos, world.getBlockState(pos).with(NetworkNodeBlock.CONNECTED, canUpdate));
}
if (network != null) {

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
import com.raoulvdberge.refinedstorage.block.NodeBlock;
import com.raoulvdberge.refinedstorage.block.NetworkNodeBlock;
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.nbt.CompoundNBT;
@@ -79,6 +79,6 @@ public class NetworkNodeCrafterManager extends NetworkNode {
}
public boolean isActive() {
return world.getBlockState(pos).get(NodeBlock.CONNECTED);
return world.getBlockState(pos).get(NetworkNodeBlock.CONNECTED);
}
}

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
import com.raoulvdberge.refinedstorage.block.NodeBlock;
import com.raoulvdberge.refinedstorage.block.NetworkNodeBlock;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
@@ -74,7 +74,7 @@ public class NetworkNodeCraftingMonitor extends NetworkNode implements ICrafting
@Override
public boolean isActive() {
return world.getBlockState(pos).get(NodeBlock.CONNECTED);
return world.getBlockState(pos).get(NetworkNodeBlock.CONNECTED);
}
@Override

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.state.StateContainer;

View File

@@ -1,98 +0,0 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.state.StateContainer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.List;
public abstract class BlockBase extends Block {
private static final CollisionGroup DEFAULT_COLLISION_GROUP = new CollisionGroup().addItem(new AxisAlignedBB(0, 0, 0, 1, 1, 1)).setCanAccessGui(true);
private static final List<CollisionGroup> DEFAULT_COLLISION_GROUPS = Collections.singletonList(DEFAULT_COLLISION_GROUP);
protected IBlockInfo info;
public BlockBase(IBlockInfo info) {
super(Block.Properties
.create(info.getMaterial())
.hardnessAndResistance(info.getHardness())
.sound(info.getSoundType())
);
this.info = info;
setRegistryName(info.getId());
}
public BlockBase(Properties p_i48440_1_) {
super(p_i48440_1_);
}
@Override
public String getTranslationKey() {
return "block." + info.getId().toString();
}
@Override
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
super.fillStateContainer(builder);
if (getDirection() != null) {
builder.add(getDirection().getProperty());
}
}
@Override
public final boolean hasTileEntity(BlockState state) {
return info.hasTileEntity();
}
@Nullable
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return info.createTileEntity();
}
@Nullable
public BlockDirection getDirection() {
return null;
}
public final IBlockInfo getInfo() {
return info;
}
protected boolean canAccessGui(BlockState state, World world, BlockPos pos, float hitX, float hitY, float hitZ) {
/*for (CollisionGroup group : getCollisions(world.getTileEntity(pos), state)) {
if (group.canAccessGui()) {
for (AxisAlignedBB aabb : group.getItems()) {
if (CollisionUtils.isInBounds(aabb, hitX, hitY, hitZ)) {
return true;
}
}
}
}*/
return false;
}
@Override
@SuppressWarnings("deprecation")
public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) {
if (state.getBlock() != newState.getBlock()) {
worldIn.updateComparatorOutputLevel(pos, this);
super.onReplaced(state, worldIn, pos, newState, isMoving);
}
}
}

View File

@@ -1,15 +1,12 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import net.minecraft.util.BlockRenderLayer;
import javax.annotation.Nullable;
public class BlockCrafter extends BlockNode {
public BlockCrafter() {
super(BlockInfoBuilder.forId("crafter").tileEntity(TileCrafter::new).create());
public class BlockCrafter extends NetworkNodeBlock {
public BlockCrafter(Properties props) {
super(props);
}
/*

View File

@@ -1,11 +1,8 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
public class BlockCrafterManager extends BlockNode {
public BlockCrafterManager() {
super(BlockInfoBuilder.forId("crafter_manager").tileEntity(TileCrafterManager::new).create());
public class BlockCrafterManager extends NetworkNodeBlock {
public BlockCrafterManager(Properties props) {
super(props);
}
/* TODO

View File

@@ -1,38 +1,35 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
public class BlockCraftingMonitor extends BlockNode {
public BlockCraftingMonitor() {
super(BlockInfoBuilder.forId("crafting_monitor").tileEntity(TileCraftingMonitor::new).create());
public class BlockCraftingMonitor extends NetworkNodeBlock {
public BlockCraftingMonitor(Properties props) {
super(props);
}
/*
@Override
@OnlyIn(Dist.CLIENT)
public void registerModels(IModelRegistration modelRegistration) {
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
@Override
@OnlyIn(Dist.CLIENT)
public void registerModels(IModelRegistration modelRegistration) {
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
modelRegistration.addBakedModelOverride(info.getId(), base -> new BakedModelFullbright(base, RS.ID + ":blocks/crafting_monitor/cutouts/front_connected"));
}
modelRegistration.addBakedModelOverride(info.getId(), base -> new BakedModelFullbright(base, RS.ID + ":blocks/crafting_monitor/cutouts/front_connected"));
}
@Override
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
@Nullable
public BlockDirection getDirection() {
return BlockDirection.HORIZONTAL;
}
@Override
@Nullable
public BlockDirection getDirection() {
return BlockDirection.HORIZONTAL;
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, BlockState state, PlayerEntity player, EnumHand hand, Direction side, float hitX, float hitY, float hitZ) {
return openNetworkGui(RSGui.CRAFTING_MONITOR, player, world, pos, side, Permission.MODIFY, Permission.AUTOCRAFTING);
}
*/
@Override
public boolean onBlockActivated(World world, BlockPos pos, BlockState state, PlayerEntity player, EnumHand hand, Direction side, float hitX, float hitY, float hitZ) {
return openNetworkGui(RSGui.CRAFTING_MONITOR, player, world, pos, side, Permission.MODIFY, Permission.AUTOCRAFTING);
}
*/
@Override
public boolean hasConnectedState() {
return true;

View File

@@ -1,4 +1,4 @@
package com.raoulvdberge.refinedstorage.block.info;
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.util.DirectionUtils;
import net.minecraft.entity.LivingEntity;

View File

@@ -1,13 +0,0 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
public abstract class BlockNode extends BlockBase {
public BlockNode(IBlockInfo info) {
super(info);
}
public boolean hasConnectedState() {
return false;
}
}

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.capability.NetworkNodeProxyCapability;
import com.raoulvdberge.refinedstorage.tile.CableTile;
import com.raoulvdberge.refinedstorage.util.BlockUtils;
@@ -22,7 +21,7 @@ import net.minecraft.world.World;
import javax.annotation.Nullable;
public class CableBlock extends NodeBlock {
public class CableBlock extends NetworkNodeBlock {
private static final BooleanProperty NORTH = BooleanProperty.create("north");
private static final BooleanProperty EAST = BooleanProperty.create("east");
private static final BooleanProperty SOUTH = BooleanProperty.create("south");

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.ConstructorContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.ConstructorTile;

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.DestructorContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.DestructorTile;

View File

@@ -27,7 +27,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class DetectorBlock extends NodeBlock {
public class DetectorBlock extends NetworkNodeBlock {
public static final BooleanProperty POWERED = BooleanProperty.create("powered");
private static final VoxelShape SHAPE = makeCuboidShape(0, 0, 0, 16, 5, 16);

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.DiskDriveContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.DiskDriveTile;
@@ -21,7 +20,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class DiskDriveBlock extends NodeBlock {
public class DiskDriveBlock extends NetworkNodeBlock {
public DiskDriveBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.DiskManipulatorContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.DiskManipulatorTile;
@@ -22,7 +21,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class DiskManipulatorBlock extends NodeBlock {
public class DiskManipulatorBlock extends NetworkNodeBlock {
public DiskManipulatorBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.ExporterContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.ExporterTile;

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.ExternalStorageContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.ExternalStorageTile;

View File

@@ -21,7 +21,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class FluidInterfaceBlock extends NodeBlock {
public class FluidInterfaceBlock extends NetworkNodeBlock {
public FluidInterfaceBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -23,7 +23,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class FluidStorageBlock extends NodeBlock {
public class FluidStorageBlock extends NetworkNodeBlock {
private final FluidStorageType type;
public FluidStorageBlock(FluidStorageType type) {

View File

@@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.GridBlockGridFactory;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.tile.grid.GridTile;
import com.raoulvdberge.refinedstorage.util.BlockUtils;
import com.raoulvdberge.refinedstorage.util.NetworkUtils;
@@ -21,7 +20,7 @@ import net.minecraft.world.World;
import javax.annotation.Nullable;
public class GridBlock extends NodeBlock {
public class GridBlock extends NetworkNodeBlock {
private final GridType type;
public GridBlock(GridType type) {

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.ImporterContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.ImporterTile;

View File

@@ -21,7 +21,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class InterfaceBlock extends NodeBlock {
public class InterfaceBlock extends NetworkNodeBlock {
public InterfaceBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -17,10 +17,10 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.items.IItemHandler;
public abstract class NodeBlock extends BaseBlock {
public abstract class NetworkNodeBlock extends BaseBlock {
public static final BooleanProperty CONNECTED = BooleanProperty.create("connected");
public NodeBlock(Block.Properties props) {
public NetworkNodeBlock(Block.Properties props) {
super(props);
if (hasConnectedState()) {

View File

@@ -10,7 +10,7 @@ import net.minecraft.world.IBlockReader;
import javax.annotation.Nullable;
public class NetworkReceiverBlock extends NodeBlock {
public class NetworkReceiverBlock extends NetworkNodeBlock {
public NetworkReceiverBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -21,7 +21,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class NetworkTransmitterBlock extends NodeBlock {
public class NetworkTransmitterBlock extends NetworkNodeBlock {
public NetworkTransmitterBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.PortableGridBlockGridFactory;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.item.blockitem.PortableGridBlockItem;
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGridDiskState;
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGridTile;

View File

@@ -21,7 +21,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class RelayBlock extends NodeBlock {
public class RelayBlock extends NetworkNodeBlock {
public RelayBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.SecurityManagerContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.SecurityManagerTile;
@@ -23,7 +22,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class SecurityManagerBlock extends NodeBlock {
public class SecurityManagerBlock extends NetworkNodeBlock {
public SecurityManagerBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -23,7 +23,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class StorageBlock extends NodeBlock {
public class StorageBlock extends NetworkNodeBlock {
private final ItemStorageType type;
public StorageBlock(ItemStorageType type) {

View File

@@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.StorageMonitorNetworkNode;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.container.StorageMonitorContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.StorageMonitorTile;
@@ -25,7 +24,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class StorageMonitorBlock extends NodeBlock {
public class StorageMonitorBlock extends NetworkNodeBlock {
public StorageMonitorBlock() {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);

View File

@@ -28,7 +28,7 @@ import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class WirelessTransmitterBlock extends NodeBlock {
public class WirelessTransmitterBlock extends NetworkNodeBlock {
private static final VoxelShape SHAPE = Block.makeCuboidShape(6.0D, 0.0D, 6.0D, 10.0D, 10.0D, 10.0D);
public WirelessTransmitterBlock() {

View File

@@ -1,64 +0,0 @@
package com.raoulvdberge.refinedstorage.block.info;
import com.raoulvdberge.refinedstorage.tile.BaseTile;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.ResourceLocation;
import javax.annotation.Nullable;
import java.util.function.Supplier;
public class BlockInfo implements IBlockInfo {
private final Material material;
private final SoundType soundType;
private final float hardness;
private final ResourceLocation id;
private final Object modObject;
@Nullable
private final Supplier<BaseTile> tileSupplier;
public BlockInfo(Material material, SoundType soundType, float hardness, String id, String modId, Object modObject, Supplier<BaseTile> tileSupplier) {
this.material = material;
this.soundType = soundType;
this.hardness = hardness;
this.id = new ResourceLocation(modId, id);
this.modObject = modObject;
this.tileSupplier = tileSupplier;
}
@Override
public Material getMaterial() {
return material;
}
@Override
public SoundType getSoundType() {
return soundType;
}
@Override
public ResourceLocation getId() {
return id;
}
@Override
public Object getModObject() {
return modObject;
}
@Override
public float getHardness() {
return hardness;
}
@Nullable
@Override
public BaseTile createTileEntity() {
return tileSupplier.get();
}
@Override
public boolean hasTileEntity() {
return tileSupplier != null;
}
}

View File

@@ -1,63 +0,0 @@
package com.raoulvdberge.refinedstorage.block.info;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.tile.BaseTile;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import java.util.function.Supplier;
public final class BlockInfoBuilder {
private Material material = Material.ROCK;
private String id;
private String modId;
private Object modObject;
private float hardness = 1.9F;
private SoundType soundType = SoundType.STONE;
private Supplier<BaseTile> tileSupplier;
private BlockInfoBuilder() {
}
public static BlockInfoBuilder forMod(Object modObject, String modId, String id) {
BlockInfoBuilder builder = new BlockInfoBuilder();
builder.modObject = modObject;
builder.modId = modId;
builder.id = id;
return builder;
}
public static BlockInfoBuilder forId(String id) {
return forMod(RS.INSTANCE, RS.ID, id);
}
public BlockInfoBuilder material(Material material) {
this.material = material;
return this;
}
public BlockInfoBuilder soundType(SoundType soundType) {
this.soundType = soundType;
return this;
}
public BlockInfoBuilder hardness(float hardness) {
this.hardness = hardness;
return this;
}
public BlockInfoBuilder tileEntity(Supplier<BaseTile> tileSupplier) {
this.tileSupplier = tileSupplier;
return this;
}
public BlockInfo create() {
return new BlockInfo(material, soundType, hardness, id, modId, modObject, tileSupplier);
}
}

View File

@@ -1,25 +0,0 @@
package com.raoulvdberge.refinedstorage.block.info;
import com.raoulvdberge.refinedstorage.tile.BaseTile;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.ResourceLocation;
import javax.annotation.Nullable;
public interface IBlockInfo {
Material getMaterial();
SoundType getSoundType();
ResourceLocation getId();
Object getModObject();
float getHardness();
@Nullable
BaseTile createTileEntity();
boolean hasTileEntity();
}

View File

@@ -1,7 +1,7 @@
package com.raoulvdberge.refinedstorage.item.blockitem;
import com.raoulvdberge.refinedstorage.block.BaseBlock;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.block.BlockDirection;
import net.minecraft.block.BlockState;
import net.minecraft.item.BlockItem;
import net.minecraft.item.BlockItemUseContext;

View File

@@ -1,46 +0,0 @@
package com.raoulvdberge.refinedstorage.render.collision;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
public class CollisionGroup {
private List<AxisAlignedBB> items = new ArrayList<>();
private boolean canAccessGui;
@Nullable
private Direction direction;
public CollisionGroup addItem(AxisAlignedBB item) {
items.add(item);
return this;
}
public List<AxisAlignedBB> getItems() {
return items;
}
public boolean canAccessGui() {
return canAccessGui;
}
public CollisionGroup setCanAccessGui(boolean canAccessGui) {
this.canAccessGui = canAccessGui;
return this;
}
public CollisionGroup setDirection(Direction direction) {
this.direction = direction;
return this;
}
@Nullable
public Direction getDirection() {
return direction;
}
}