Move block model registration to block classes.
This commit is contained in:
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
import net.minecraft.block.Block;
|
||||
@@ -18,6 +19,8 @@ import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
@@ -31,14 +34,18 @@ public abstract class BlockBase extends Block {
|
||||
this.info = info;
|
||||
|
||||
setHardness(info.getHardness());
|
||||
setRegistryName(info.getModId(), info.getId());
|
||||
setRegistryName(info.getId());
|
||||
setCreativeTab(RS.INSTANCE.tab);
|
||||
setSoundType(info.getSoundType());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "block." + info.getModId() + ":" + info.getId();
|
||||
return "block." + info.getId().toString();
|
||||
}
|
||||
|
||||
protected BlockStateContainer.Builder createBlockStateBuilder() {
|
||||
|
@@ -8,10 +8,12 @@ import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
|
||||
import com.raoulvdberge.refinedstorage.block.property.PropertyObject;
|
||||
import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.AdvancedRayTraceResult;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.AdvancedRayTracer;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsCable;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelCableCover;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileCable;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
||||
@@ -22,6 +24,7 @@ import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockFaceShape;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@@ -34,6 +37,8 @@ import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.property.IExtendedBlockState;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -65,7 +70,20 @@ public class BlockCable extends BlockNode {
|
||||
return BlockInfoBuilder.forId(id).material(Material.GLASS).soundType(SoundType.GLASS).hardness(0.35F);
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
void registerCover(IModelRegistration modelRegistration) {
|
||||
modelRegistration.addBakedModelOverride(info.getId(), BakedModelCableCover::new);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectedState() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -2,17 +2,22 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsCable;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsConstructor;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -22,6 +27,15 @@ public class BlockConstructor extends BlockCable {
|
||||
super(createBuilder("constructor").tileEntity(TileConstructor::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -72,7 +86,7 @@ public class BlockConstructor extends BlockCable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -1,15 +1,18 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ControllerEnergyType;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ControllerType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockController;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileController;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -22,6 +25,9 @@ import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockController extends BlockNodeProxy {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", ControllerType.class);
|
||||
@@ -31,6 +37,23 @@ public class BlockController extends BlockNodeProxy {
|
||||
super(BlockInfoBuilder.forId("controller").tileEntity(TileController::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModelMeshDefinition(this, stack -> {
|
||||
ControllerEnergyType energyType = stack.getItemDamage() == ControllerType.CREATIVE.getId() ? ControllerEnergyType.ON : TileController.getEnergyType(ItemBlockController.getEnergyStored(stack), RS.INSTANCE.config.controllerCapacity);
|
||||
|
||||
return new ModelResourceLocation(RS.ID + ":controller" + (Loader.isModLoaded("ctm") ? "_glow" : ""), "energy_type=" + energyType);
|
||||
});
|
||||
|
||||
modelRegistration.setStateMapper(this, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation(RS.ID + ":controller" + (Loader.isModLoaded("ctm") ? "_glow" : ""), "energy_type=" + state.getValue(ENERGY_TYPE));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
@@ -84,7 +107,7 @@ public class BlockController extends BlockNodeProxy {
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
ItemStack stack = new ItemStack(RSBlocks.CONTROLLER, 1, RSBlocks.CONTROLLER.getMetaFromState(state));
|
||||
ItemStack stack = new ItemStack(this, 1, getMetaFromState(state));
|
||||
|
||||
stack.setTagCompound(new NBTTagCompound());
|
||||
stack.getTagCompound().setInteger(TileController.NBT_ENERGY, ((TileController) world.getTileEntity(pos)).getEnergy().getStored());
|
||||
|
@@ -1,11 +1,13 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -17,6 +19,8 @@ import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -25,6 +29,13 @@ public class BlockCrafter extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("crafter").tileEntity(TileCrafter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "connected=false,direction=north"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -58,7 +69,7 @@ public class BlockCrafter extends BlockNode {
|
||||
|
||||
if (displayName != null) {
|
||||
for (ItemStack drop : drops) {
|
||||
if (drop.getItem() == Item.getItemFromBlock(RSBlocks.CRAFTER)) {
|
||||
if (drop.getItem() == Item.getItemFromBlock(this)) {
|
||||
drop.setStackDisplayName(displayName);
|
||||
}
|
||||
}
|
||||
@@ -66,7 +77,7 @@ public class BlockCrafter extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -4,14 +4,19 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -20,6 +25,13 @@ public class BlockCrafterManager extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("crafter_manager").tileEntity(TileCrafterManager::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "connected=false,direction=north"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -36,7 +48,7 @@ public class BlockCrafterManager extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -4,13 +4,18 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -19,6 +24,13 @@ public class BlockCraftingMonitor extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("crafting_monitor").tileEntity(TileCraftingMonitor::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -31,7 +43,7 @@ public class BlockCraftingMonitor extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -3,15 +3,20 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -21,6 +26,15 @@ public class BlockDestructor extends BlockCable {
|
||||
super(createBuilder("destructor").tileEntity(TileDestructor::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -42,7 +56,7 @@ public class BlockDestructor extends BlockCable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -2,12 +2,15 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsDetector;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDetector;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockFaceShape;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
@@ -17,6 +20,8 @@ import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockDetector extends BlockNode {
|
||||
private static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||
@@ -25,6 +30,13 @@ public class BlockDetector extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("detector").tileEntity(TileDetector::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return createBlockStateBuilder()
|
||||
|
@@ -4,9 +4,13 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.block.property.PropertyObject;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.model.ModelDiskDrive;
|
||||
import com.raoulvdberge.refinedstorage.render.model.loader.CustomModelLoaderDefault;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
@@ -15,6 +19,8 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.property.IExtendedBlockState;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -25,6 +31,14 @@ public class BlockDiskDrive extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("disk_drive").tileEntity(TileDiskDrive::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
modelRegistration.addModelLoader(new CustomModelLoaderDefault(info.getId(), ModelDiskDrive::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
|
@@ -4,9 +4,13 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.block.property.PropertyObject;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.model.ModelDiskManipulator;
|
||||
import com.raoulvdberge.refinedstorage.render.model.loader.CustomModelLoaderDefault;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
@@ -15,6 +19,8 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.property.IExtendedBlockState;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -25,6 +31,14 @@ public class BlockDiskManipulator extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("disk_manipulator").tileEntity(TileDiskManipulator::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
modelRegistration.addModelLoader(new CustomModelLoaderDefault(info.getId(), ModelDiskManipulator::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -55,7 +69,7 @@ public class BlockDiskManipulator extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -2,16 +2,20 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsExporter;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExporter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -21,6 +25,14 @@ public class BlockExporter extends BlockCable {
|
||||
super(createBuilder("exporter").tileEntity(TileExporter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
|
@@ -3,18 +3,22 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeExternalStorage;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsCable;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsExternalStorage;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -24,6 +28,14 @@ public class BlockExternalStorage extends BlockCable {
|
||||
super(createBuilder("external_storage").tileEntity(TileExternalStorage::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
|
@@ -3,26 +3,36 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockFluidInterface extends BlockNode {
|
||||
public BlockFluidInterface() {
|
||||
super(BlockInfoBuilder.forId("fluid_interface").tileEntity(TileFluidInterface::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
return openNetworkGui(RSGui.FLUID_INTERFACE, player, world, pos, side, Permission.MODIFY, Permission.INSERT, Permission.EXTRACT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -6,10 +6,12 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeF
|
||||
import com.raoulvdberge.refinedstorage.block.enums.FluidStorageType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockFluidStorage;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -22,6 +24,8 @@ import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockFluidStorage extends BlockNode {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", FluidStorageType.class);
|
||||
@@ -30,6 +34,16 @@ public class BlockFluidStorage extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("fluid_storage").hardness(5.8F).tileEntity(TileFluidStorage::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, FluidStorageType.TYPE_64K.getId(), new ModelResourceLocation(info.getId(), "type=64k"));
|
||||
modelRegistration.setModel(this, FluidStorageType.TYPE_256K.getId(), new ModelResourceLocation(info.getId(), "type=256k"));
|
||||
modelRegistration.setModel(this, FluidStorageType.TYPE_1024K.getId(), new ModelResourceLocation(info.getId(), "type=1024k"));
|
||||
modelRegistration.setModel(this, FluidStorageType.TYPE_4096K.getId(), new ModelResourceLocation(info.getId(), "type=4096k"));
|
||||
modelRegistration.setModel(this, FluidStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation(info.getId(), "type=creative"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||
for (int i = 0; i <= 4; ++i) {
|
||||
|
@@ -5,10 +5,13 @@ import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -18,6 +21,8 @@ import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -28,6 +33,16 @@ public class BlockGrid extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("grid").tileEntity(TileGrid::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, GridType.NORMAL.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=normal"));
|
||||
modelRegistration.setModel(this, GridType.CRAFTING.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=crafting"));
|
||||
modelRegistration.setModel(this, GridType.PATTERN.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=pattern"));
|
||||
modelRegistration.setModel(this, GridType.FLUID.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=fluid"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -64,7 +79,7 @@ public class BlockGrid extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -2,16 +2,20 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsImporter;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileImporter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -21,6 +25,14 @@ public class BlockImporter extends BlockCable {
|
||||
super(createBuilder("importer").tileEntity(TileImporter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
|
@@ -3,26 +3,36 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileInterface;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockInterface extends BlockNode {
|
||||
public BlockInterface() {
|
||||
super(BlockInfoBuilder.forId("interface").tileEntity(TileInterface::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
return openNetworkGui(RSGui.INTERFACE, player, world, pos, side, Permission.MODIFY, Permission.INSERT, Permission.EXTRACT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,19 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockMachineCasing extends BlockBase {
|
||||
public BlockMachineCasing() {
|
||||
super(BlockInfoBuilder.forId("machine_casing").create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,12 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNetworkReceiver;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockNetworkReceiver extends BlockNode {
|
||||
public BlockNetworkReceiver() {
|
||||
@@ -9,7 +14,14 @@ public class BlockNetworkReceiver extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -2,26 +2,38 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockNetworkTransmitter extends BlockNode {
|
||||
public BlockNetworkTransmitter() {
|
||||
super(BlockInfoBuilder.forId("network_transmitter").tileEntity(TileNetworkTransmitter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
return openNetworkGui(RSGui.NETWORK_TRANSMITTER, player, world, pos, side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -60,7 +60,7 @@ public abstract class BlockNode extends BlockNodeProxy {
|
||||
protected BlockStateContainer.Builder createBlockStateBuilder() {
|
||||
BlockStateContainer.Builder builder = super.createBlockStateBuilder();
|
||||
|
||||
if (hasConnectivityState()) {
|
||||
if (hasConnectedState()) {
|
||||
builder.add(CONNECTED);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ public abstract class BlockNode extends BlockNodeProxy {
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
state = super.getActualState(state, world, pos);
|
||||
|
||||
if (hasConnectivityState()) {
|
||||
if (hasConnectedState()) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileNode) {
|
||||
@@ -87,7 +87,7 @@ public abstract class BlockNode extends BlockNodeProxy {
|
||||
return state;
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -7,13 +7,16 @@ import com.raoulvdberge.refinedstorage.block.enums.PortableGridType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.render.meshdefinition.ItemMeshDefinitionPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.TilePortableGrid;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockFaceShape;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMap;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -25,6 +28,8 @@ import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -37,6 +42,13 @@ public class BlockPortableGrid extends BlockBase {
|
||||
super(BlockInfoBuilder.forId("portable_grid").tileEntity(TilePortableGrid::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setStateMapper(this, new StateMap.Builder().ignore(TYPE).build());
|
||||
modelRegistration.setModelMeshDefinition(this, new ItemMeshDefinitionPortableGrid());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
|
@@ -1,9 +1,19 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockQuartzEnrichedIron extends BlockBase {
|
||||
public BlockQuartzEnrichedIron() {
|
||||
super(BlockInfoBuilder.forId("quartz_enriched_iron_block").create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -5,9 +5,12 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeReader;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileReader;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
@@ -15,6 +18,8 @@ import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -24,6 +29,15 @@ public class BlockReader extends BlockCable {
|
||||
super(createBuilder("reader").tileEntity(TileReader::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -68,7 +82,7 @@ public class BlockReader extends BlockCable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -2,25 +2,38 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileRelay;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockRelay extends BlockNode {
|
||||
public BlockRelay() {
|
||||
super(BlockInfoBuilder.forId("relay").tileEntity(TileRelay::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
return openNetworkGui(RSGui.RELAY, player, world, pos, side);
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
@Override
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -5,13 +5,18 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -20,6 +25,13 @@ public class BlockSecurityManager extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("security_manager").tileEntity(TileSecurityManager::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -40,7 +52,7 @@ public class BlockSecurityManager extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -6,10 +6,12 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeS
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ItemStorageType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockStorage;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileStorage;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -22,6 +24,8 @@ import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockStorage extends BlockNode {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", ItemStorageType.class);
|
||||
@@ -30,6 +34,16 @@ public class BlockStorage extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("storage").tileEntity(TileStorage::new).hardness(5.8F).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, ItemStorageType.TYPE_1K.getId(), new ModelResourceLocation(info.getId(), "type=1k"));
|
||||
modelRegistration.setModel(this, ItemStorageType.TYPE_4K.getId(), new ModelResourceLocation(info.getId(), "type=4k"));
|
||||
modelRegistration.setModel(this, ItemStorageType.TYPE_16K.getId(), new ModelResourceLocation(info.getId(), "type=16k"));
|
||||
modelRegistration.setModel(this, ItemStorageType.TYPE_64K.getId(), new ModelResourceLocation(info.getId(), "type=64k"));
|
||||
modelRegistration.setModel(this, ItemStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation(info.getId(), "type=creative"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||
for (int i = 0; i <= 4; ++i) {
|
||||
|
@@ -4,8 +4,10 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorageMonitor;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
@@ -14,6 +16,8 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.ForgeHooks;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -22,6 +26,12 @@ public class BlockStorageMonitor extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("storage_monitor").tileEntity(TileStorageMonitor::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "connected=false,direction=north"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -65,7 +75,7 @@ public class BlockStorageMonitor extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -2,11 +2,14 @@ package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsWirelessTransmitter;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.BlockFaceShape;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -19,6 +22,8 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -28,6 +33,13 @@ public class BlockWirelessTransmitter extends BlockNode {
|
||||
super(BlockInfoBuilder.forId("wireless_transmitter").tileEntity(TileWirelessTransmitter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
return openNetworkGui(RSGui.WIRELESS_TRANSMITTER, player, world, pos, side);
|
||||
@@ -72,7 +84,7 @@ public class BlockWirelessTransmitter extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -6,9 +6,12 @@ import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterCha
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeWriter;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileWriter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
@@ -16,6 +19,8 @@ import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -25,6 +30,15 @@ public class BlockWriter extends BlockCable {
|
||||
super(createBuilder("writer").tileEntity(TileWriter::new).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
modelRegistration.setStateMapper(this, new StateMapperCTM(info.getId()));
|
||||
|
||||
registerCover(modelRegistration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockDirection getDirection() {
|
||||
@@ -89,7 +103,7 @@ public class BlockWriter extends BlockCable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
public boolean hasConnectedState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.block.info;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
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;
|
||||
@@ -38,13 +39,8 @@ public class BlockInfo implements IBlockInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModId() {
|
||||
return modId;
|
||||
public ResourceLocation getId() {
|
||||
return new ResourceLocation(modId, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.block.info;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -11,9 +12,7 @@ public interface IBlockInfo {
|
||||
|
||||
SoundType getSoundType();
|
||||
|
||||
String getId();
|
||||
|
||||
String getModId();
|
||||
ResourceLocation getId();
|
||||
|
||||
Object getModObject();
|
||||
|
||||
|
@@ -1,56 +1,50 @@
|
||||
package com.raoulvdberge.refinedstorage.proxy;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.RSKeyBindings;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockController;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ControllerEnergyType;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ControllerType;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.FluidStorageType;
|
||||
import com.raoulvdberge.refinedstorage.block.enums.ItemStorageType;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockBase;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiCraftingPreview;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiCraftingStart;
|
||||
import com.raoulvdberge.refinedstorage.item.*;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridCraftingPreviewResponse;
|
||||
import com.raoulvdberge.refinedstorage.render.IModelRegistration;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.BlockHighlightListener;
|
||||
import com.raoulvdberge.refinedstorage.render.meshdefinition.ItemMeshDefinitionPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.render.model.ModelDiskDrive;
|
||||
import com.raoulvdberge.refinedstorage.render.model.ModelDiskManipulator;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelCableCover;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelPattern;
|
||||
import com.raoulvdberge.refinedstorage.render.model.loader.CustomModelLoaderCover;
|
||||
import com.raoulvdberge.refinedstorage.render.model.loader.CustomModelLoaderDefault;
|
||||
import com.raoulvdberge.refinedstorage.render.statemapper.StateMapperCTM;
|
||||
import com.raoulvdberge.refinedstorage.render.tesr.TileEntitySpecialRendererStorageMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileController;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.block.model.ModelBakery;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMap;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.block.statemap.IStateMapper;
|
||||
import net.minecraft.client.renderer.color.ItemColors;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.ModelBakeEvent;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.client.model.ICustomModelLoader;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.model.ModelLoaderRegistry;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
|
||||
public class ProxyClient extends ProxyCommon {
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ProxyClient extends ProxyCommon implements IModelRegistration {
|
||||
private Map<ResourceLocation, Function<IBakedModel, IBakedModel>> bakedModelOverrides = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent e) {
|
||||
super.preInit(e);
|
||||
@@ -197,94 +191,16 @@ public class ProxyClient extends ProxyCommon {
|
||||
ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE_2, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE_3, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CABLE), 0, new ModelResourceLocation("refinedstorage:cable", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.MACHINE_CASING), 0, new ModelResourceLocation("refinedstorage:machine_casing", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DISK_DRIVE), 0, new ModelResourceLocation("refinedstorage:disk_drive", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.EXPORTER), 0, new ModelResourceLocation("refinedstorage:exporter", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.IMPORTER), 0, new ModelResourceLocation("refinedstorage:importer", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.EXTERNAL_STORAGE), 0, new ModelResourceLocation("refinedstorage:external_storage", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.INTERFACE), 0, new ModelResourceLocation("refinedstorage:interface", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_INTERFACE), 0, new ModelResourceLocation("refinedstorage:fluid_interface", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE), ItemStorageType.TYPE_1K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=1k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE), ItemStorageType.TYPE_4K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=4k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE), ItemStorageType.TYPE_16K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=16k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE), ItemStorageType.TYPE_64K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=64k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE), ItemStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation("refinedstorage:storage", "type=creative"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_STORAGE), FluidStorageType.TYPE_64K.getId(), new ModelResourceLocation("refinedstorage:fluid_storage", "type=64k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_STORAGE), FluidStorageType.TYPE_256K.getId(), new ModelResourceLocation("refinedstorage:fluid_storage", "type=256k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_STORAGE), FluidStorageType.TYPE_1024K.getId(), new ModelResourceLocation("refinedstorage:fluid_storage", "type=1024k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_STORAGE), FluidStorageType.TYPE_4096K.getId(), new ModelResourceLocation("refinedstorage:fluid_storage", "type=4096k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.FLUID_STORAGE), FluidStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation("refinedstorage:fluid_storage", "type=creative"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DISK_MANIPULATOR), 0, new ModelResourceLocation("refinedstorage:disk_manipulator", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.QUARTZ_ENRICHED_IRON), 0, new ModelResourceLocation("refinedstorage:quartz_enriched_iron_block", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE_MONITOR), 0, new ModelResourceLocation("refinedstorage:storage_monitor", "connected=false,direction=north"));
|
||||
ModelLoader.setCustomModelResourceLocation(RSItems.COVER, 0, new ModelResourceLocation("refinedstorage:cover", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(RSItems.HOLLOW_COVER, 0, new ModelResourceLocation("refinedstorage:hollow_cover", "inventory"));
|
||||
|
||||
ModelLoaderRegistry.registerLoader(new CustomModelLoaderDefault(new ResourceLocation(RS.ID, "disk_drive"), ModelDiskDrive::new));
|
||||
ModelLoaderRegistry.registerLoader(new CustomModelLoaderDefault(new ResourceLocation(RS.ID, "disk_manipulator"), ModelDiskManipulator::new));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.GRID), GridType.NORMAL.getId(), new ModelResourceLocation("refinedstorage:grid", "connected=false,direction=north,type=normal"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.GRID), GridType.CRAFTING.getId(), new ModelResourceLocation("refinedstorage:grid", "connected=false,direction=north,type=crafting"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.GRID), GridType.PATTERN.getId(), new ModelResourceLocation("refinedstorage:grid", "connected=false,direction=north,type=pattern"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.GRID), GridType.FLUID.getId(), new ModelResourceLocation("refinedstorage:grid", "connected=false,direction=north,type=fluid"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.GRID, new StateMapperCTM("refinedstorage:grid"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CRAFTING_MONITOR), 0, new ModelResourceLocation("refinedstorage:crafting_monitor", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.CRAFTING_MONITOR, new StateMapperCTM("refinedstorage:crafting_monitor"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.WIRELESS_TRANSMITTER), 0, new ModelResourceLocation("refinedstorage:wireless_transmitter", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.WIRELESS_TRANSMITTER, new StateMapperCTM("refinedstorage:wireless_transmitter"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.NETWORK_TRANSMITTER), 0, new ModelResourceLocation("refinedstorage:network_transmitter", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.NETWORK_TRANSMITTER, new StateMapperCTM("refinedstorage:network_transmitter"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.NETWORK_RECEIVER), 0, new ModelResourceLocation("refinedstorage:network_receiver", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.NETWORK_RECEIVER, new StateMapperCTM("refinedstorage:network_receiver"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DETECTOR), 0, new ModelResourceLocation("refinedstorage:detector", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.DETECTOR, new StateMapperCTM("refinedstorage:detector"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.RELAY), 0, new ModelResourceLocation("refinedstorage:relay", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.RELAY, new StateMapperCTM("refinedstorage:relay"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.SECURITY_MANAGER), 0, new ModelResourceLocation("refinedstorage:security_manager", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.SECURITY_MANAGER, new StateMapperCTM("refinedstorage:security_manager"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.READER), 0, new ModelResourceLocation("refinedstorage:reader", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.READER, new StateMapperCTM("refinedstorage:reader"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.WRITER), 0, new ModelResourceLocation("refinedstorage:writer", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.WRITER, new StateMapperCTM("refinedstorage:writer"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CRAFTER), 0, new ModelResourceLocation("refinedstorage:crafter", "connected=false,direction=north"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.CRAFTER, new StateMapperCTM("refinedstorage:crafter"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CONSTRUCTOR), 0, new ModelResourceLocation("refinedstorage:constructor", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.CONSTRUCTOR, new StateMapperCTM("refinedstorage:constructor"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DESTRUCTOR), 0, new ModelResourceLocation("refinedstorage:destructor", "inventory"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.DESTRUCTOR, new StateMapperCTM("refinedstorage:destructor"));
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CRAFTER_MANAGER), 0, new ModelResourceLocation("refinedstorage:crafter_manager", "connected=false,direction=north"));
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.CRAFTER_MANAGER, new StateMapperCTM("refinedstorage:crafter_manager"));
|
||||
|
||||
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.CONTROLLER), stack -> {
|
||||
ControllerEnergyType energyType = stack.getItemDamage() == ControllerType.CREATIVE.getId() ? ControllerEnergyType.ON : TileController.getEnergyType(ItemBlockController.getEnergyStored(stack), RS.INSTANCE.config.controllerCapacity);
|
||||
|
||||
return new ModelResourceLocation("refinedstorage:controller" + (Loader.isModLoaded("ctm") ? "_glow" : ""), "energy_type=" + energyType);
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.CONTROLLER, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation("refinedstorage:controller" + (Loader.isModLoaded("ctm") ? "_glow" : ""), "energy_type=" + state.getValue(BlockController.ENERGY_TYPE));
|
||||
}
|
||||
});
|
||||
|
||||
ModelLoaderRegistry.registerLoader(new CustomModelLoaderCover());
|
||||
|
||||
ModelLoader.setCustomStateMapper(RSBlocks.PORTABLE_GRID, new StateMap.Builder().ignore(BlockPortableGrid.TYPE).build());
|
||||
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.PORTABLE_GRID), new ItemMeshDefinitionPortableGrid());
|
||||
addBakedModelOverride(new ResourceLocation(RS.ID, "pattern"), BakedModelPattern::new);
|
||||
|
||||
for (BlockBase block : blocksToRegister) {
|
||||
block.registerModels(this);
|
||||
}
|
||||
}
|
||||
|
||||
public static void onReceiveCraftingPreviewResponse(MessageGridCraftingPreviewResponse message) {
|
||||
@@ -311,21 +227,37 @@ public class ProxyClient extends ProxyCommon {
|
||||
|
||||
@SubscribeEvent
|
||||
public void onModelBake(ModelBakeEvent e) {
|
||||
for (ModelResourceLocation model : e.getModelRegistry().getKeys()) {
|
||||
if (model.getResourceDomain().equals(RS.ID)) {
|
||||
if (model.getResourcePath().equals("pattern")) {
|
||||
e.getModelRegistry().putObject(model, new BakedModelPattern(e.getModelRegistry().getObject(model)));
|
||||
} else if (model.getResourcePath().equals("cable") ||
|
||||
model.getResourcePath().equals("exporter") ||
|
||||
model.getResourcePath().equals("importer") ||
|
||||
model.getResourcePath().equals("external_storage") ||
|
||||
model.getResourcePath().equals("constructor") ||
|
||||
model.getResourcePath().equals("destructor") ||
|
||||
model.getResourcePath().equals("reader") ||
|
||||
model.getResourcePath().equals("writer")) {
|
||||
e.getModelRegistry().putObject(model, new BakedModelCableCover(e.getModelRegistry().getObject(model)));
|
||||
}
|
||||
for (ModelResourceLocation resource : e.getModelRegistry().getKeys()) {
|
||||
ResourceLocation key = new ResourceLocation(resource.getResourceDomain(), resource.getResourcePath());
|
||||
|
||||
if (bakedModelOverrides.containsKey(key)) {
|
||||
e.getModelRegistry().putObject(resource, bakedModelOverrides.get(key).apply(e.getModelRegistry().getObject(resource)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBakedModelOverride(ResourceLocation resource, Function<IBakedModel, IBakedModel> override) {
|
||||
bakedModelOverrides.put(resource, override);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setModel(Block block, int meta, ModelResourceLocation resource) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), meta, resource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setModelMeshDefinition(Block block, ItemMeshDefinition meshDefinition) {
|
||||
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(block), meshDefinition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addModelLoader(ICustomModelLoader modelLoader) {
|
||||
ModelLoaderRegistry.registerLoader(modelLoader);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStateMapper(Block block, IStateMapper stateMapper) {
|
||||
ModelLoader.setCustomStateMapper(block, stateMapper);
|
||||
}
|
||||
}
|
||||
|
@@ -81,7 +81,7 @@ import java.util.List;
|
||||
|
||||
public class ProxyCommon {
|
||||
private List<Item> itemsToRegister = new LinkedList<>();
|
||||
private List<BlockBase> blocksToRegister = new LinkedList<>();
|
||||
protected List<BlockBase> blocksToRegister = new LinkedList<>();
|
||||
|
||||
public void preInit(FMLPreInitializationEvent e) {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
@@ -346,7 +346,7 @@ public class ProxyCommon {
|
||||
private void registerTile(IBlockInfo info) {
|
||||
Class<? extends TileBase> clazz = info.createTileEntity().getClass();
|
||||
|
||||
GameRegistry.registerTileEntity(clazz, new ResourceLocation(info.getModId(), info.getId()));
|
||||
GameRegistry.registerTileEntity(clazz, info.getId());
|
||||
|
||||
try {
|
||||
TileBase tileInstance = clazz.newInstance();
|
||||
|
@@ -0,0 +1,23 @@
|
||||
package com.raoulvdberge.refinedstorage.render;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.IStateMapper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.ICustomModelLoader;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
public interface IModelRegistration {
|
||||
void addBakedModelOverride(ResourceLocation resource, Function<IBakedModel, IBakedModel> override);
|
||||
|
||||
void setModel(Block block, int meta, ModelResourceLocation resource);
|
||||
|
||||
void setModelMeshDefinition(Block block, ItemMeshDefinition meshDefinition);
|
||||
|
||||
void addModelLoader(ICustomModelLoader modelLoader);
|
||||
|
||||
void setStateMapper(Block block, IStateMapper stateMapper);
|
||||
}
|
@@ -1,5 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelDiskDrive;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
@@ -15,12 +16,12 @@ import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ModelDiskDrive implements IModel {
|
||||
private static final ResourceLocation MODEL_BASE = new ResourceLocation("refinedstorage:block/disk_drive");
|
||||
private static final ResourceLocation MODEL_BASE = new ResourceLocation(RS.ID + ":block/disk_drive");
|
||||
|
||||
private static final ResourceLocation MODEL_DISK = new ResourceLocation("refinedstorage:block/disk");
|
||||
private static final ResourceLocation MODEL_DISK_NEAR_CAPACITY = new ResourceLocation("refinedstorage:block/disk_near_capacity");
|
||||
private static final ResourceLocation MODEL_DISK_FULL = new ResourceLocation("refinedstorage:block/disk_full");
|
||||
private static final ResourceLocation MODEL_DISK_DISCONNECTED = new ResourceLocation("refinedstorage:block/disk_disconnected");
|
||||
private static final ResourceLocation MODEL_DISK = new ResourceLocation(RS.ID + ":block/disk");
|
||||
private static final ResourceLocation MODEL_DISK_NEAR_CAPACITY = new ResourceLocation(RS.ID + ":block/disk_near_capacity");
|
||||
private static final ResourceLocation MODEL_DISK_FULL = new ResourceLocation(RS.ID + ":block/disk_full");
|
||||
private static final ResourceLocation MODEL_DISK_DISCONNECTED = new ResourceLocation(RS.ID + ":block/disk_disconnected");
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies() {
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelDiskManipulator;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
@@ -17,15 +18,15 @@ import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ModelDiskManipulator implements IModel {
|
||||
private static final ResourceLocation MODEL_BASE_CONNECTED = new ResourceLocation("refinedstorage:block/disk_manipulator_connected" + (Loader.isModLoaded("ctm") ? "_glow" : ""));
|
||||
private static final ResourceLocation MODEL_BASE_DISCONNECTED = new ResourceLocation("refinedstorage:block/disk_manipulator_disconnected");
|
||||
private static final ResourceLocation MODEL_BASE_CONNECTED = new ResourceLocation(RS.ID + ":block/disk_manipulator_connected" + (Loader.isModLoaded("ctm") ? "_glow" : ""));
|
||||
private static final ResourceLocation MODEL_BASE_DISCONNECTED = new ResourceLocation(RS.ID + ":block/disk_manipulator_disconnected");
|
||||
|
||||
private static final ResourceLocation MODEL_DISK = new ResourceLocation("refinedstorage:block/disk");
|
||||
private static final ResourceLocation MODEL_DISK_NEAR_CAPACITY = new ResourceLocation("refinedstorage:block/disk_near_capacity");
|
||||
private static final ResourceLocation MODEL_DISK_FULL = new ResourceLocation("refinedstorage:block/disk_full");
|
||||
private static final ResourceLocation MODEL_DISK_DISCONNECTED = new ResourceLocation("refinedstorage:block/disk_disconnected");
|
||||
private static final ResourceLocation MODEL_DISK = new ResourceLocation(RS.ID + ":block/disk");
|
||||
private static final ResourceLocation MODEL_DISK_NEAR_CAPACITY = new ResourceLocation(RS.ID + ":block/disk_near_capacity");
|
||||
private static final ResourceLocation MODEL_DISK_FULL = new ResourceLocation(RS.ID + ":block/disk_full");
|
||||
private static final ResourceLocation MODEL_DISK_DISCONNECTED = new ResourceLocation(RS.ID + ":block/disk_disconnected");
|
||||
|
||||
private static final ResourceLocation TEXTURE_BASE_CONNECTED_GLOW = new ResourceLocation("refinedstorage:blocks/disk_manipulator_connected_glow");
|
||||
private static final ResourceLocation TEXTURE_BASE_CONNECTED_GLOW = new ResourceLocation(RS.ID + ":blocks/disk_manipulator_connected_glow");
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies() {
|
||||
|
@@ -3,19 +3,20 @@ package com.raoulvdberge.refinedstorage.render.statemapper;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
|
||||
public class StateMapperCTM extends StateMapperBase {
|
||||
private static final String CTM_MOD_ID = "ctm";
|
||||
|
||||
private String location;
|
||||
private ResourceLocation location;
|
||||
|
||||
public StateMapperCTM(String location) {
|
||||
public StateMapperCTM(ResourceLocation location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation(location + (Loader.isModLoaded(CTM_MOD_ID) ? "_glow" : ""), getPropertyString(state.getProperties()));
|
||||
return new ModelResourceLocation(location.toString() + (Loader.isModLoaded(CTM_MOD_ID) ? "_glow" : ""), getPropertyString(state.getProperties()));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user