Fix up some issues with Build.gradle, Clean up code and switch to registry events for adding blocks and items.
This commit is contained in:
parent
37b34bfc02
commit
49a097283a
21
build.gradle
21
build.gradle
|
|
@ -87,13 +87,12 @@ def versionInfo = getGitVersion()
|
||||||
version = minecraft_version + "-${versionInfo['IronChest.version']}"
|
version = minecraft_version + "-${versionInfo['IronChest.version']}"
|
||||||
|
|
||||||
// This wrangles the resources for the jar files- stuff like textures and languages
|
// This wrangles the resources for the jar files- stuff like textures and languages
|
||||||
processResources
|
processResources {
|
||||||
{
|
|
||||||
// we're omitting the .xcf files - they're development only
|
// we're omitting the .xcf files - they're development only
|
||||||
exclude '**/*.xcf'
|
exclude '**/*.xcf'
|
||||||
// we only want to do search/replace stuff in mcmod.info, nothing else
|
// we only want to do search/replace stuff in mcmod.info, nothing else
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
include 'META_INF/mods.toml'
|
include 'META-INF/mods.toml'
|
||||||
|
|
||||||
// replace version and mcversion
|
// replace version and mcversion
|
||||||
expand 'version': project.version, 'mcversion': minecraft_version
|
expand 'version': project.version, 'mcversion': minecraft_version
|
||||||
|
|
@ -101,7 +100,7 @@ processResources
|
||||||
|
|
||||||
// copy everything else, thats not the mcmod.info
|
// copy everything else, thats not the mcmod.info
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
exclude 'META_INF/mods.toml'
|
exclude 'META-INF/mods.toml'
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate version.properties file from the git version data earlier
|
// generate version.properties file from the git version data earlier
|
||||||
|
|
@ -117,17 +116,14 @@ processResources
|
||||||
// Configure an upload task. this is setup for uploading to files.minecraftforge.net. There are other examples around
|
// Configure an upload task. this is setup for uploading to files.minecraftforge.net. There are other examples around
|
||||||
uploadArchives {
|
uploadArchives {
|
||||||
repositories.mavenDeployer {
|
repositories.mavenDeployer {
|
||||||
|
|
||||||
dependsOn 'build'
|
dependsOn 'build'
|
||||||
|
|
||||||
if (project.hasProperty('forgeMavenPassword'))
|
if (project.hasProperty('forgeMavenPassword')) {
|
||||||
{
|
|
||||||
repository(url: "http://files.minecraftforge.net/maven/manage/upload") {
|
repository(url: "http://files.minecraftforge.net/maven/manage/upload") {
|
||||||
authentication(userName: project.getProperty('forgeMavenUser'), password: project.getProperty('forgeMavenPassword')) // the elvis operator. look it up.
|
authentication(userName: project.getProperty('forgeMavenUser'), password: project.getProperty('forgeMavenPassword'))
|
||||||
|
// the elvis operator. look it up.
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
// local repo folder. Might wanna juset use gradle install if you wanans end it to maven-local
|
// local repo folder. Might wanna juset use gradle install if you wanans end it to maven-local
|
||||||
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
|
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
|
||||||
}
|
}
|
||||||
|
|
@ -175,8 +171,7 @@ uploadArchives {
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is a special task for pulling the version information from git and the environment (for BUILD_NUMBER)
|
// This is a special task for pulling the version information from git and the environment (for BUILD_NUMBER)
|
||||||
def getGitVersion()
|
def getGitVersion() {
|
||||||
{
|
|
||||||
def out = [:]
|
def out = [:]
|
||||||
|
|
||||||
// call git command.
|
// call git command.
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,12 @@
|
||||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||||
org.gradle.jvmargs=-Xmx3G
|
org.gradle.jvmargs=-Xmx3G
|
||||||
|
|
||||||
mod_version=1.0.0
|
|
||||||
|
|
||||||
# Minecraft Version Information
|
# Minecraft Version Information
|
||||||
minecraft_version=1.13
|
minecraft_version=1.13
|
||||||
minecraft_version_toml=13
|
minecraft_version_toml=13
|
||||||
|
|
||||||
# Forge Version Information
|
# Forge Version Information
|
||||||
forge_version=24.0.55-1.13-pre
|
forge_version=24.0.58-1.13-pre
|
||||||
forge_version_toml=24
|
forge_version_toml=24
|
||||||
forge_group=net.minecraftforge.test
|
forge_group=net.minecraftforge.test
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,16 @@ package cpw.mods.ironchest;
|
||||||
|
|
||||||
import cpw.mods.ironchest.client.ClientProxy;
|
import cpw.mods.ironchest.client.ClientProxy;
|
||||||
import cpw.mods.ironchest.common.ServerProxy;
|
import cpw.mods.ironchest.common.ServerProxy;
|
||||||
|
import cpw.mods.ironchest.common.ai.OcelotsSitOnChestsHandler;
|
||||||
|
import cpw.mods.ironchest.common.blocks.BlockChest;
|
||||||
import cpw.mods.ironchest.common.core.IronChestBlocks;
|
import cpw.mods.ironchest.common.core.IronChestBlocks;
|
||||||
import cpw.mods.ironchest.common.core.IronChestItems;
|
import cpw.mods.ironchest.common.core.IronChestItems;
|
||||||
import cpw.mods.ironchest.common.tileentity.IronChestEntityType;
|
import cpw.mods.ironchest.common.tileentity.IronChestEntityType;
|
||||||
|
import cpw.mods.ironchest.common.util.BlockNames;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||||
|
|
@ -25,30 +32,70 @@ public class IronChest
|
||||||
{
|
{
|
||||||
public static final String MOD_ID = "ironchest";
|
public static final String MOD_ID = "ironchest";
|
||||||
|
|
||||||
|
private static final boolean DEBUG = false;
|
||||||
|
|
||||||
public static IronChest instance;
|
public static IronChest instance;
|
||||||
|
|
||||||
public static ServerProxy proxy = DistExecutor.runForDist(() -> ClientProxy::new, () -> ServerProxy::new);
|
public static ServerProxy proxy = DistExecutor.runForDist(() -> ClientProxy::new, () -> ServerProxy::new);
|
||||||
|
|
||||||
public IronChestBlocks ironChestBlocks = new IronChestBlocks();
|
|
||||||
|
|
||||||
public IronChestItems ironChestItems = new IronChestItems();
|
|
||||||
|
|
||||||
public IronChestEntityType ironChestEntityType = new IronChestEntityType();
|
public IronChestEntityType ironChestEntityType = new IronChestEntityType();
|
||||||
|
|
||||||
public IronChest()
|
public IronChest()
|
||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
FMLModLoadingContext.get().getModEventBus().addListener(this::preInit);
|
FMLModLoadingContext.get().getModEventBus().addListener(this::preInit);
|
||||||
|
MinecraftForge.EVENT_BUS.register(new OcelotsSitOnChestsHandler());
|
||||||
|
MinecraftForge.EVENT_BUS.register(new IronChestBlocks());
|
||||||
|
MinecraftForge.EVENT_BUS.register(new IronChestItems());
|
||||||
|
MinecraftForge.EVENT_BUS.register(new IronChestEntityType());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void preInit(final FMLPreInitializationEvent event)
|
private void preInit(final FMLPreInitializationEvent event)
|
||||||
{
|
{
|
||||||
proxy.preInit();
|
proxy.preInit();
|
||||||
ironChestBlocks.registerBlocks();
|
|
||||||
ironChestBlocks.registerItems();
|
if (IronChest.DEBUG)
|
||||||
ironChestItems.registerItems();
|
{
|
||||||
|
debugPrints();
|
||||||
|
}
|
||||||
|
|
||||||
ironChestEntityType.registerTileEntities();
|
ironChestEntityType.registerTileEntities();
|
||||||
ironChestEntityType.createEntries();
|
ironChestEntityType.createEntries();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void debugPrints()
|
||||||
|
{
|
||||||
|
EnumFacing[] e = { EnumFacing.NORTH, EnumFacing.EAST, EnumFacing.SOUTH, EnumFacing.WEST };
|
||||||
|
|
||||||
|
System.out.println("--------------------------");
|
||||||
|
|
||||||
|
for (EnumFacing facing : e)
|
||||||
|
{
|
||||||
|
IBlockState iBlockState = Block.func_149684_b(BlockNames.IRON_CHEST).getDefaultState().with(BlockChest.FACING, facing);
|
||||||
|
|
||||||
|
System.out.println("iBlockState " + iBlockState);
|
||||||
|
|
||||||
|
int stateID = Block.getStateId(iBlockState);
|
||||||
|
|
||||||
|
System.out.println("stateID " + stateID);
|
||||||
|
|
||||||
|
IBlockState iBlockStateOut = Block.getStateById(stateID);
|
||||||
|
|
||||||
|
System.out.println("iBlockStateOut " + iBlockStateOut);
|
||||||
|
|
||||||
|
Block blockOut = Block.func_149729_e(stateID);
|
||||||
|
|
||||||
|
System.out.println("blockOut " + blockOut);
|
||||||
|
|
||||||
|
System.out.println("--------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("--------------------------");
|
||||||
|
|
||||||
|
for (Object i : Block.BLOCK_STATE_IDS)
|
||||||
|
{
|
||||||
|
System.out.println("Test: " + i);
|
||||||
|
}
|
||||||
|
System.out.println("--------------------------");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ public class ClientProxy extends ServerProxy
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
public void preInit()
|
public void preInit()
|
||||||
{
|
{
|
||||||
System.out.println("hello");
|
|
||||||
super.preInit();
|
super.preInit();
|
||||||
|
|
||||||
for (IronChestType type : IronChestType.values())
|
for (IronChestType type : IronChestType.values())
|
||||||
{
|
{
|
||||||
if (type.clazz != null)
|
if (type.clazz != null)
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ package cpw.mods.ironchest.client.renderer;
|
||||||
|
|
||||||
import com.google.common.primitives.SignedBytes;
|
import com.google.common.primitives.SignedBytes;
|
||||||
import cpw.mods.ironchest.common.blocks.BlockChest;
|
import cpw.mods.ironchest.common.blocks.BlockChest;
|
||||||
import cpw.mods.ironchest.common.blocks.BlockIronChest;
|
|
||||||
import cpw.mods.ironchest.common.blocks.IronChestType;
|
import cpw.mods.ironchest.common.blocks.IronChestType;
|
||||||
import cpw.mods.ironchest.common.core.IronChestBlocks;
|
import cpw.mods.ironchest.common.core.IronChestBlocks;
|
||||||
import cpw.mods.ironchest.common.tileentity.TileEntityCrystalChest;
|
import cpw.mods.ironchest.common.tileentity.TileEntityCrystalChest;
|
||||||
|
|
@ -67,7 +66,7 @@ public class TileEntityIronChestRenderer<T extends TileEntity & IChestLid> exten
|
||||||
GlStateManager.depthMask(true);
|
GlStateManager.depthMask(true);
|
||||||
IBlockState iblockstate = tileEntityIn.hasWorld() ?
|
IBlockState iblockstate = tileEntityIn.hasWorld() ?
|
||||||
tileEntityIn.getBlockState() :
|
tileEntityIn.getBlockState() :
|
||||||
(IBlockState) IronChestBlocks.ironChestBlock.getDefaultState().with(BlockIronChest.FACING, EnumFacing.SOUTH);
|
(IBlockState) IronChestBlocks.ironChestBlock.getDefaultState().with(BlockChest.FACING, EnumFacing.NORTH);
|
||||||
IronChestType chesttype = IronChestType.IRON;
|
IronChestType chesttype = IronChestType.IRON;
|
||||||
IronChestType typeNew = BlockChest.getTypeFromBlock(iblockstate.getBlock());
|
IronChestType typeNew = BlockChest.getTypeFromBlock(iblockstate.getBlock());
|
||||||
|
|
||||||
|
|
@ -101,7 +100,7 @@ public class TileEntityIronChestRenderer<T extends TileEntity & IChestLid> exten
|
||||||
GlStateManager.translatef((float) x, (float) y + 1.0F, (float) z + 1.0F);
|
GlStateManager.translatef((float) x, (float) y + 1.0F, (float) z + 1.0F);
|
||||||
GlStateManager.scalef(1.0F, -1.0F, -1.0F);
|
GlStateManager.scalef(1.0F, -1.0F, -1.0F);
|
||||||
|
|
||||||
float f = iblockstate.get(BlockIronChest.FACING).getHorizontalAngle();
|
float f = iblockstate.get(BlockChest.FACING).getHorizontalAngle();
|
||||||
if (Math.abs(f) > 1.0E-5D)
|
if (Math.abs(f) > 1.0E-5D)
|
||||||
{
|
{
|
||||||
GlStateManager.translatef(0.5F, 0.5F, 0.5F);
|
GlStateManager.translatef(0.5F, 0.5F, 0.5F);
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,8 @@ public class IronChestAIOcelotSit extends EntityAIOcelotSit
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IBlockState iblockstate = worldIn.getBlockState(pos);
|
IBlockState iBlockState = worldIn.getBlockState(pos);
|
||||||
Block block = iblockstate.getBlock();
|
Block block = iBlockState.getBlock();
|
||||||
|
|
||||||
if (block instanceof BlockChest)
|
if (block instanceof BlockChest)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import java.util.HashSet;
|
||||||
public class OcelotsSitOnChestsHandler
|
public class OcelotsSitOnChestsHandler
|
||||||
{
|
{
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void changeSittingTaskForOcelots(LivingUpdateEvent evt)
|
public void changeSittingTaskForOcelots(final LivingUpdateEvent evt)
|
||||||
{
|
{
|
||||||
if (evt.getEntityLiving().ticksExisted < 5 && evt.getEntityLiving() instanceof EntityOcelot)
|
if (evt.getEntityLiving().ticksExisted < 5 && evt.getEntityLiving() instanceof EntityOcelot)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumBlockRenderType;
|
import net.minecraft.util.EnumBlockRenderType;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.INameable;
|
import net.minecraft.util.INameable;
|
||||||
|
import net.minecraft.util.Mirror;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.Rotation;
|
import net.minecraft.util.Rotation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
|
@ -52,19 +53,25 @@ public abstract class BlockChest extends Block implements ITileEntityProvider
|
||||||
|
|
||||||
protected static final VoxelShape IRON_CHEST_SHAPE = Block.makeCuboidShape(1.0D, 0.0D, 1.0D, 15.0D, 14.0D, 15.0D);
|
protected static final VoxelShape IRON_CHEST_SHAPE = Block.makeCuboidShape(1.0D, 0.0D, 1.0D, 15.0D, 14.0D, 15.0D);
|
||||||
|
|
||||||
public IronChestType type;
|
private final IronChestType type;
|
||||||
|
|
||||||
public BlockChest(Builder properties, IronChestType type)
|
public BlockChest(Builder builderIn, IronChestType typeIn)
|
||||||
{
|
{
|
||||||
super(properties);
|
super(builderIn);
|
||||||
|
|
||||||
this.setDefaultState(((this.stateContainer.getBaseState()).with(FACING, EnumFacing.NORTH)));
|
this.type = typeIn;
|
||||||
|
|
||||||
this.type = type;
|
this.setDefaultState((IBlockState) ((IBlockState) this.stateContainer.getBaseState()).with(FACING, EnumFacing.NORTH));
|
||||||
|
|
||||||
this.setRegistryName(new ResourceLocation(type.itemName));
|
this.setRegistryName(new ResourceLocation(type.itemName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VoxelShape getShape(IBlockState state, IBlockReader worldIn, BlockPos pos)
|
||||||
|
{
|
||||||
|
return IRON_CHEST_SHAPE;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSolid(IBlockState state)
|
public boolean isSolid(IBlockState state)
|
||||||
{
|
{
|
||||||
|
|
@ -98,12 +105,6 @@ public abstract class BlockChest extends Block implements ITileEntityProvider
|
||||||
return this.getDefaultState().with(FACING, enumfacing);
|
return this.getDefaultState().with(FACING, enumfacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public VoxelShape getShape(IBlockState state, IBlockReader worldIn, BlockPos pos)
|
|
||||||
{
|
|
||||||
return IRON_CHEST_SHAPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
||||||
{
|
{
|
||||||
|
|
@ -216,7 +217,13 @@ public abstract class BlockChest extends Block implements ITileEntityProvider
|
||||||
@Override
|
@Override
|
||||||
public IBlockState rotate(IBlockState state, Rotation rot)
|
public IBlockState rotate(IBlockState state, Rotation rot)
|
||||||
{
|
{
|
||||||
return state.with(FACING, rot.rotate(state.get(FACING)));
|
return (IBlockState) state.with(FACING, rot.rotate((EnumFacing) state.get(FACING)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBlockState mirror(IBlockState state, Mirror mirrorIn)
|
||||||
|
{
|
||||||
|
return state.rotate(mirrorIn.toRotation((EnumFacing) state.get(FACING)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -251,5 +258,4 @@ public abstract class BlockChest extends Block implements ITileEntityProvider
|
||||||
{
|
{
|
||||||
return this.type;
|
return this.type;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,8 +45,6 @@ public enum IronChestType implements IStringSerializable
|
||||||
WOOD(0, 0, false, "", null, 0, 0, null);
|
WOOD(0, 0, false, "", null, 0, 0, null);
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final IronChestType VALUES[] = values();
|
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
|
|
||||||
public final int size;
|
public final int size;
|
||||||
|
|
@ -95,16 +93,6 @@ public enum IronChestType implements IStringSerializable
|
||||||
return this == CRYSTAL;
|
return this == CRYSTAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isValidForCreativeMode()
|
|
||||||
{
|
|
||||||
return this != WOOD;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isExplosionResistant()
|
|
||||||
{
|
|
||||||
return this == OBSIDIAN;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Slot makeSlot(IInventory chestInventory, int index, int x, int y)
|
public Slot makeSlot(IInventory chestInventory, int index, int x, int y)
|
||||||
{
|
{
|
||||||
return new ValidatingChestSlot(chestInventory, index, x, y, this);
|
return new ValidatingChestSlot(chestInventory, index, x, y, this);
|
||||||
|
|
|
||||||
|
|
@ -23,90 +23,76 @@ import cpw.mods.ironchest.common.items.ItemChest;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
public class IronChestBlocks
|
public class IronChestBlocks
|
||||||
{
|
{
|
||||||
//@formatter:off
|
public static BlockChest ironChestBlock;
|
||||||
public static BlockChest ironChestBlock = new BlockIronChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
|
||||||
public static Item ironChestItemBlock = new ItemChest(ironChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest goldChestBlock = new BlockGoldChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static Item ironChestItemBlock;
|
||||||
public static Item goldChestItemBlock = new ItemChest(goldChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest diamondChestBlock = new BlockDiamondChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static BlockChest goldChestBlock;
|
||||||
public static Item diamondChestItemBlock = new ItemChest(diamondChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest copperChestBlock = new BlockCopperChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static Item goldChestItemBlock;
|
||||||
public static Item copperChestItemBlock = new ItemChest(copperChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest silverChestBlock = new BlockSilverChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static BlockChest diamondChestBlock;
|
||||||
public static Item silverChestItemBlock = new ItemChest(silverChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest crystalChestBlock = new BlockCrystalChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static Item diamondChestItemBlock;
|
||||||
public static Item crystalChestItemBlock = new ItemChest(crystalChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest obsidianChestBlock = new BlockObsidianChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static BlockChest copperChestBlock;
|
||||||
public static Item obsidianChestItemBlock = new ItemChest(obsidianChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
|
|
||||||
public static BlockChest dirtChestBlock = new BlockDirtChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F));
|
public static Item copperChestItemBlock;
|
||||||
public static Item dirtChestItemBlock = new ItemChest(dirtChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS));
|
|
||||||
//@formatter:on
|
public static BlockChest silverChestBlock;
|
||||||
|
|
||||||
|
public static Item silverChestItemBlock;
|
||||||
|
|
||||||
|
public static BlockChest crystalChestBlock;
|
||||||
|
|
||||||
|
public static Item crystalChestItemBlock;
|
||||||
|
|
||||||
|
public static BlockChest obsidianChestBlock;
|
||||||
|
|
||||||
|
public static Item obsidianChestItemBlock;
|
||||||
|
|
||||||
|
public static BlockChest dirtChestBlock;
|
||||||
|
|
||||||
|
public static Item dirtChestItemBlock;
|
||||||
|
|
||||||
public IronChestBlocks()
|
public IronChestBlocks()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerBlocks()
|
@SubscribeEvent
|
||||||
|
public void registerBlocks(final RegistryEvent.Register<Block> event)
|
||||||
{
|
{
|
||||||
// Chest Start
|
|
||||||
GameRegistry.findRegistry(Block.class)
|
|
||||||
.registerAll(ironChestBlock, goldChestBlock, diamondChestBlock, copperChestBlock, silverChestBlock, crystalChestBlock, obsidianChestBlock,
|
|
||||||
dirtChestBlock);
|
|
||||||
// Chest End
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerItems()
|
|
||||||
{
|
|
||||||
// Chest Start
|
|
||||||
GameRegistry.findRegistry(Item.class)
|
|
||||||
.registerAll(ironChestItemBlock, goldChestItemBlock, diamondChestItemBlock, copperChestItemBlock, silverChestItemBlock, crystalChestItemBlock,
|
|
||||||
obsidianChestItemBlock, dirtChestItemBlock);
|
|
||||||
// Chest End
|
|
||||||
}
|
|
||||||
|
|
||||||
/*@SubscribeEvent
|
|
||||||
public static void registerBlocks(final Register<Block> event)
|
|
||||||
{
|
|
||||||
System.out.println("hello from registerBlocks");
|
|
||||||
IForgeRegistry<Block> blockRegistry = event.getRegistry();
|
IForgeRegistry<Block> blockRegistry = event.getRegistry();
|
||||||
|
|
||||||
// Chest Start
|
blockRegistry.register(ironChestBlock = new BlockIronChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
for (IronChestType type : IronChestType.values())
|
blockRegistry.register(goldChestBlock = new BlockGoldChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
{
|
blockRegistry.register(diamondChestBlock = new BlockDiamondChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
if (type.itemName != null)
|
blockRegistry.register(copperChestBlock = new BlockCopperChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
{
|
blockRegistry.register(silverChestBlock = new BlockSilverChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
blockRegistry.register(new BlockIronChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F), type, type.itemName));
|
blockRegistry.register(crystalChestBlock = new BlockCrystalChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
}
|
blockRegistry.register(obsidianChestBlock = new BlockObsidianChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
}
|
blockRegistry.register(dirtChestBlock = new BlockDirtChest(Block.Builder.create(Material.IRON).hardnessAndResistance(3.0F, 3.0F)));
|
||||||
// Chest End
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerItems(final Register<Item> event)
|
public void registerItems(final RegistryEvent.Register<Item> event)
|
||||||
{
|
{
|
||||||
System.out.println("hello from registerItems");
|
|
||||||
IForgeRegistry<Item> itemRegistry = event.getRegistry();
|
IForgeRegistry<Item> itemRegistry = event.getRegistry();
|
||||||
|
|
||||||
// Chest Start
|
itemRegistry.register(ironChestItemBlock = new ItemChest(ironChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
for (IronChestType type : IronChestType.values())
|
itemRegistry.register(goldChestItemBlock = new ItemChest(goldChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
{
|
itemRegistry.register(diamondChestItemBlock = new ItemChest(diamondChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
if (type != IronChestType.WOOD)
|
itemRegistry.register(copperChestItemBlock = new ItemChest(copperChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
{
|
itemRegistry.register(silverChestItemBlock = new ItemChest(silverChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
itemRegistry.register(new ItemChest(type.block, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
itemRegistry.register(crystalChestItemBlock = new ItemChest(crystalChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
|
itemRegistry.register(obsidianChestItemBlock = new ItemChest(obsidianChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
|
itemRegistry.register(dirtChestItemBlock = new ItemChest(dirtChestBlock, (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Chest End
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -3,43 +3,53 @@ package cpw.mods.ironchest.common.core;
|
||||||
import cpw.mods.ironchest.common.items.ChestChangerType;
|
import cpw.mods.ironchest.common.items.ChestChangerType;
|
||||||
import cpw.mods.ironchest.common.items.ItemChestChanger;
|
import cpw.mods.ironchest.common.items.ItemChestChanger;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraftforge.event.RegistryEvent.Register;
|
import net.minecraft.item.Item.Builder;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
public class IronChestItems
|
public class IronChestItems
|
||||||
{
|
{
|
||||||
//@formatter:off
|
public static Builder itemBuilder;
|
||||||
public static Item.Builder itemBuilder = (new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS).maxStackSize(1);
|
|
||||||
public static Item ironToGoldUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.IRON_GOLD);
|
public static Item ironToGoldUpgrade;
|
||||||
public static Item goldToDiamondUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.GOLD_DIAMOND);
|
|
||||||
public static Item copperToSilverUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.COPPER_SILVER);
|
public static Item goldToDiamondUpgrade;
|
||||||
public static Item silverToGoldUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.SILVER_GOLD);
|
|
||||||
public static Item copperToIronUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.COPPER_IRON);
|
public static Item copperToSilverUpgrade;
|
||||||
public static Item diamondToCrystalUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.DIAMOND_CRYSTAL);
|
|
||||||
public static Item woodToIronUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.WOOD_IRON);
|
public static Item silverToGoldUpgrade;
|
||||||
public static Item woodToCopperUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.WOOD_COPPER);
|
|
||||||
public static Item diamondToObsidianUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.DIAMOND_OBSIDIAN);
|
public static Item copperToIronUpgrade;
|
||||||
//@formatter:on
|
|
||||||
|
public static Item diamondToCrystalUpgrade;
|
||||||
|
|
||||||
|
public static Item woodToIronUpgrade;
|
||||||
|
|
||||||
|
public static Item woodToCopperUpgrade;
|
||||||
|
|
||||||
|
public static Item diamondToObsidianUpgrade;
|
||||||
|
|
||||||
public IronChestItems()
|
public IronChestItems()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerItems()
|
@SubscribeEvent
|
||||||
{
|
public void registerItems(final RegistryEvent.Register<Item> event)
|
||||||
// Chest Start
|
|
||||||
GameRegistry.findRegistry(Item.class)
|
|
||||||
.registerAll(ironToGoldUpgrade, goldToDiamondUpgrade, copperToSilverUpgrade, silverToGoldUpgrade, copperToIronUpgrade, diamondToCrystalUpgrade,
|
|
||||||
woodToIronUpgrade, woodToCopperUpgrade, diamondToObsidianUpgrade);
|
|
||||||
// Chest End
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void registerItems(Register<Item> event)
|
|
||||||
{
|
{
|
||||||
IForgeRegistry<Item> itemRegistry = event.getRegistry();
|
IForgeRegistry<Item> itemRegistry = event.getRegistry();
|
||||||
|
|
||||||
ChestChangerType.buildItems(itemRegistry);
|
itemBuilder = (new Builder()).group(IronChestCreativeTabs.IRON_CHESTS).maxStackSize(1);
|
||||||
|
|
||||||
|
itemRegistry.register(ironToGoldUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.IRON_GOLD));
|
||||||
|
itemRegistry.register(goldToDiamondUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.GOLD_DIAMOND));
|
||||||
|
itemRegistry.register(copperToSilverUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.COPPER_SILVER));
|
||||||
|
itemRegistry.register(silverToGoldUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.SILVER_GOLD));
|
||||||
|
itemRegistry.register(copperToIronUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.COPPER_IRON));
|
||||||
|
itemRegistry.register(diamondToCrystalUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.DIAMOND_CRYSTAL));
|
||||||
|
itemRegistry.register(woodToIronUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.WOOD_IRON));
|
||||||
|
itemRegistry.register(woodToCopperUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.WOOD_COPPER));
|
||||||
|
itemRegistry.register(diamondToObsidianUpgrade = new ItemChestChanger(itemBuilder, ChestChangerType.DIAMOND_OBSIDIAN));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,31 +43,31 @@ public class ContainerIronChest extends Container
|
||||||
@Override
|
@Override
|
||||||
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
|
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
|
||||||
{
|
{
|
||||||
ItemStack itemstack = ItemStack.EMPTY;
|
ItemStack itemStack = ItemStack.EMPTY;
|
||||||
Slot slot = this.inventorySlots.get(index);
|
Slot slot = this.inventorySlots.get(index);
|
||||||
|
|
||||||
if (slot != null && slot.getHasStack())
|
if (slot != null && slot.getHasStack())
|
||||||
{
|
{
|
||||||
ItemStack itemstack1 = slot.getStack();
|
ItemStack itemStack1 = slot.getStack();
|
||||||
itemstack = itemstack1.copy();
|
itemStack = itemStack1.copy();
|
||||||
|
|
||||||
if (index < this.type.size)
|
if (index < this.type.size)
|
||||||
{
|
{
|
||||||
if (!this.mergeItemStack(itemstack1, this.type.size, this.inventorySlots.size(), true))
|
if (!this.mergeItemStack(itemStack1, this.type.size, this.inventorySlots.size(), true))
|
||||||
{
|
{
|
||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!this.type.acceptsStack(itemstack1))
|
else if (!this.type.acceptsStack(itemStack1))
|
||||||
{
|
{
|
||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
else if (!this.mergeItemStack(itemstack1, 0, this.type.size, false))
|
else if (!this.mergeItemStack(itemStack1, 0, this.type.size, false))
|
||||||
{
|
{
|
||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemstack1.isEmpty())
|
if (itemStack1.isEmpty())
|
||||||
{
|
{
|
||||||
slot.putStack(ItemStack.EMPTY);
|
slot.putStack(ItemStack.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
@ -77,7 +77,7 @@ public class ContainerIronChest extends Container
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return itemstack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void layoutContainer(IInventory playerInventory, IInventory chestInventory, IronChestType type, int xSize, int ySize)
|
protected void layoutContainer(IInventory playerInventory, IInventory chestInventory, IronChestType type, int xSize, int ySize)
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,11 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package cpw.mods.ironchest.common.items;
|
package cpw.mods.ironchest.common.items;
|
||||||
|
|
||||||
|
import cpw.mods.ironchest.IronChest;
|
||||||
import cpw.mods.ironchest.common.blocks.IronChestType;
|
import cpw.mods.ironchest.common.blocks.IronChestType;
|
||||||
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
|
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
import static cpw.mods.ironchest.common.blocks.IronChestType.COPPER;
|
import static cpw.mods.ironchest.common.blocks.IronChestType.COPPER;
|
||||||
|
|
@ -38,44 +40,21 @@ public enum ChestChangerType
|
||||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade");
|
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade");
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final ChestChangerType[] VALUES = values();
|
|
||||||
|
|
||||||
public final IronChestType source;
|
public final IronChestType source;
|
||||||
|
|
||||||
public final IronChestType target;
|
public final IronChestType target;
|
||||||
|
|
||||||
public final String itemName;
|
public final ResourceLocation itemName;
|
||||||
|
|
||||||
public ItemChestChanger item;
|
|
||||||
|
|
||||||
ChestChangerType(IronChestType source, IronChestType target, String itemName)
|
ChestChangerType(IronChestType source, IronChestType target, String itemName)
|
||||||
{
|
{
|
||||||
this.source = source;
|
this.source = source;
|
||||||
this.target = target;
|
this.target = target;
|
||||||
this.itemName = itemName;
|
this.itemName = new ResourceLocation(IronChest.MOD_ID, itemName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canUpgrade(IronChestType from)
|
public boolean canUpgrade(IronChestType from)
|
||||||
{
|
{
|
||||||
return from == this.source;
|
return from == this.source;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemChestChanger buildItem(IForgeRegistry<Item> itemRegistry)
|
|
||||||
{
|
|
||||||
this.item = new ItemChestChanger((new Item.Builder()).group(IronChestCreativeTabs.IRON_CHESTS).maxStackSize(1), this);
|
|
||||||
|
|
||||||
this.item.setRegistryName(this.itemName);
|
|
||||||
|
|
||||||
itemRegistry.register(this.item);
|
|
||||||
|
|
||||||
return this.item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void buildItems(IForgeRegistry<Item> itemRegistry)
|
|
||||||
{
|
|
||||||
for (ChestChangerType type : VALUES)
|
|
||||||
{
|
|
||||||
type.buildItem(itemRegistry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,10 @@ public class ItemChestChanger extends ItemTooltip
|
||||||
@Override
|
@Override
|
||||||
public EnumActionResult onItemUseFirst(ItemStack stack, ItemUseContext context)
|
public EnumActionResult onItemUseFirst(ItemStack stack, ItemUseContext context)
|
||||||
{
|
{
|
||||||
EntityPlayer entityplayer = context.getPlayer();
|
EntityPlayer entityPlayer = context.getPlayer();
|
||||||
BlockPos blockpos = context.getPos();
|
BlockPos blockPos = context.getPos();
|
||||||
World world = context.getWorld();
|
World world = context.getWorld();
|
||||||
ItemStack itemstack = context.getItem();
|
ItemStack itemStack = context.getItem();
|
||||||
|
|
||||||
if (world.isRemote)
|
if (world.isRemote)
|
||||||
{
|
{
|
||||||
|
|
@ -53,56 +53,55 @@ public class ItemChestChanger extends ItemTooltip
|
||||||
|
|
||||||
if (this.type.canUpgrade(IronChestType.WOOD))
|
if (this.type.canUpgrade(IronChestType.WOOD))
|
||||||
{
|
{
|
||||||
if (!(world.getBlockState(blockpos).getBlock() instanceof net.minecraft.block.BlockChest))
|
if (!(world.getBlockState(blockPos).getBlock() instanceof net.minecraft.block.BlockChest))
|
||||||
{
|
{
|
||||||
return EnumActionResult.PASS;
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//@formatter:off
|
if (world.getBlockState(blockPos).getBlock().getDefaultState() != IronChestType.get(this.type.source))
|
||||||
if (world.getBlockState(blockpos).getBlock().getDefaultState() != IronChestType.get(this.type.source))
|
|
||||||
//@formatter:on
|
|
||||||
{
|
{
|
||||||
return EnumActionResult.PASS;
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TileEntity te = world.getTileEntity(blockpos);
|
TileEntity tileEntity = world.getTileEntity(blockPos);
|
||||||
TileEntityIronChest newchest = new TileEntityIronChest();
|
TileEntityIronChest newChest = new TileEntityIronChest();
|
||||||
|
|
||||||
ITextComponent customname = null;
|
ITextComponent customName = null;
|
||||||
|
|
||||||
NonNullList<ItemStack> chestContents = NonNullList.<ItemStack>withSize(27, ItemStack.EMPTY);
|
NonNullList<ItemStack> chestContents = NonNullList.<ItemStack>withSize(27, ItemStack.EMPTY);
|
||||||
EnumFacing chestFacing = EnumFacing.NORTH;
|
EnumFacing chestFacing = EnumFacing.NORTH;
|
||||||
|
|
||||||
if (te != null)
|
if (tileEntity != null)
|
||||||
{
|
{
|
||||||
if (te instanceof TileEntityIronChest)
|
if (tileEntity instanceof TileEntityIronChest)
|
||||||
{
|
{
|
||||||
TileEntityIronChest chest = (TileEntityIronChest) te;
|
TileEntityIronChest chest = (TileEntityIronChest) tileEntity;
|
||||||
IBlockState chestState = world.getBlockState(blockpos);
|
IBlockState chestState = world.getBlockState(blockPos);
|
||||||
|
|
||||||
chestContents = chest.getItems();
|
chestContents = chest.getItems();
|
||||||
chestFacing = chestState.get(BlockChest.FACING);
|
chestFacing = chestState.get(BlockChest.FACING);
|
||||||
customname = chest.getCustomName();
|
customName = chest.getCustomName();
|
||||||
newchest = this.type.target.makeEntity();
|
newChest = this.type.target.makeEntity();
|
||||||
|
|
||||||
if (newchest == null)
|
if (newChest == null)
|
||||||
{
|
{
|
||||||
return EnumActionResult.PASS;
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (te instanceof TileEntityChest)
|
else if (tileEntity instanceof TileEntityChest)
|
||||||
{
|
{
|
||||||
IBlockState chestState = world.getBlockState(blockpos);
|
IBlockState chestState = world.getBlockState(blockPos);
|
||||||
chestFacing = chestState.get(net.minecraft.block.BlockChest.FACING);
|
chestFacing = chestState.get(net.minecraft.block.BlockChest.FACING);
|
||||||
TileEntityChest chest = (TileEntityChest) te;
|
TileEntityChest chest = (TileEntityChest) tileEntity;
|
||||||
|
|
||||||
if (TileEntityChest.getPlayersUsing(world, blockpos) > 0)
|
if (TileEntityChest.getPlayersUsing(world, blockPos) > 0)
|
||||||
{
|
{
|
||||||
return EnumActionResult.PASS;
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.type.canUpgrade(IronChestType.WOOD))
|
if (!this.type.canUpgrade(IronChestType.WOOD))
|
||||||
{
|
{
|
||||||
return EnumActionResult.PASS;
|
return EnumActionResult.PASS;
|
||||||
|
|
@ -110,51 +109,46 @@ public class ItemChestChanger extends ItemTooltip
|
||||||
|
|
||||||
chestContents = NonNullList.<ItemStack>withSize(chest.getSizeInventory(), ItemStack.EMPTY);
|
chestContents = NonNullList.<ItemStack>withSize(chest.getSizeInventory(), ItemStack.EMPTY);
|
||||||
|
|
||||||
for (int i = 0; i < chestContents.size(); i++)
|
for (int slot = 0; slot < chestContents.size(); slot++)
|
||||||
{
|
{
|
||||||
chestContents.set(i, chest.getStackInSlot(i));
|
chestContents.set(slot, chest.getStackInSlot(slot));
|
||||||
}
|
}
|
||||||
|
|
||||||
customname = chest.getCustomName();
|
customName = chest.getCustomName();
|
||||||
|
|
||||||
newchest = this.type.target.makeEntity();
|
newChest = this.type.target.makeEntity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
te.updateContainingBlockInfo();
|
tileEntity.updateContainingBlockInfo();
|
||||||
|
|
||||||
//if (te instanceof TileEntityChest)
|
world.removeTileEntity(blockPos);
|
||||||
//{
|
world.removeBlock(blockPos);
|
||||||
// ((TileEntityChest) te).checkForAdjacentChests();
|
|
||||||
//}
|
|
||||||
|
|
||||||
world.removeTileEntity(blockpos);
|
IBlockState iBlockState = IronChestType.get(this.type.target).with(BlockIronChest.FACING, chestFacing);
|
||||||
world.removeBlock(blockpos);
|
|
||||||
|
|
||||||
IBlockState iblockstate = IronChestType.get(this.type.target).with(BlockIronChest.FACING, chestFacing);
|
System.out.println(iBlockState);
|
||||||
|
|
||||||
System.out.println(iblockstate);
|
world.setTileEntity(blockPos, newChest);
|
||||||
|
world.setBlockState(blockPos, iBlockState, 3);
|
||||||
|
|
||||||
world.setTileEntity(blockpos, newchest);
|
world.notifyBlockUpdate(blockPos, iBlockState, iBlockState, 3);
|
||||||
world.setBlockState(blockpos, iblockstate, 3);
|
|
||||||
|
|
||||||
world.notifyBlockUpdate(blockpos, iblockstate, iblockstate, 3);
|
TileEntity tileEntity2 = world.getTileEntity(blockPos);
|
||||||
|
|
||||||
TileEntity te2 = world.getTileEntity(blockpos);
|
if (tileEntity2 instanceof TileEntityIronChest)
|
||||||
|
|
||||||
if (te2 instanceof TileEntityIronChest)
|
|
||||||
{
|
{
|
||||||
if (customname != null)
|
if (customName != null)
|
||||||
{
|
{
|
||||||
((TileEntityIronChest) te2).setCustomName(customname);
|
((TileEntityIronChest) tileEntity2).setCustomName(customName);
|
||||||
}
|
}
|
||||||
|
|
||||||
((TileEntityIronChest) te2).setItems(chestContents);
|
((TileEntityIronChest) tileEntity2).setItems(chestContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entityplayer.abilities.isCreativeMode)
|
if (!entityPlayer.abilities.isCreativeMode)
|
||||||
{
|
{
|
||||||
itemstack.shrink(1);
|
itemStack.shrink(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return EnumActionResult.SUCCESS;
|
return EnumActionResult.SUCCESS;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SharedConstants;
|
import net.minecraft.util.SharedConstants;
|
||||||
import net.minecraft.util.datafix.DataFixesManager;
|
import net.minecraft.util.datafix.DataFixesManager;
|
||||||
import net.minecraft.util.datafix.TypeReferences;
|
import net.minecraft.util.datafix.TypeReferences;
|
||||||
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
import net.minecraftforge.registries.IForgeRegistryEntry;
|
import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
|
|
@ -59,6 +61,37 @@ public class IronChestEntityType
|
||||||
registerTileEntityType(e, register("obsidian_chest", TileEntityType.Builder.create(TileEntityObsidianChest::new)), "obsidian_chest");
|
registerTileEntityType(e, register("obsidian_chest", TileEntityType.Builder.create(TileEntityObsidianChest::new)), "obsidian_chest");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onTileEntityRegistry(final RegistryEvent.Register<TileEntityType<?>> e)
|
||||||
|
{
|
||||||
|
System.out.println("hello from onTileEntityRegistry");
|
||||||
|
IronChestEntityType.IRON_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("iron_chest", TileEntityType.Builder.create(TileEntityIronChest::new)), "iron_chest");
|
||||||
|
IronChestEntityType.GOLD_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("gold_chest", TileEntityType.Builder.create(TileEntityGoldChest::new)), "gold_chest");
|
||||||
|
IronChestEntityType.DIAMOND_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("diamond_chest", TileEntityType.Builder.create(TileEntityDiamondChest::new)), "diamond_chest");
|
||||||
|
IronChestEntityType.CRYSTAL_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("crystal_chest", TileEntityType.Builder.create(TileEntityCrystalChest::new)), "crystal_chest");
|
||||||
|
IronChestEntityType.DIRT_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("dirt_chest", TileEntityType.Builder.create(TileEntityDirtChest::new)), "dirt_chest");
|
||||||
|
IronChestEntityType.COPPER_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("copper_chest", TileEntityType.Builder.create(TileEntityCopperChest::new)), "copper_chest");
|
||||||
|
IronChestEntityType.SILVER_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("silver_chest", TileEntityType.Builder.create(TileEntitySilverChest::new)), "silver_chest");
|
||||||
|
IronChestEntityType.OBSIDIAN_CHEST = registerTileEntityType(e.getRegistry(),
|
||||||
|
register("obsidian_chest", TileEntityType.Builder.create(TileEntityObsidianChest::new)), "obsidian_chest");
|
||||||
|
|
||||||
|
IronChestEntityType.IRON_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "iron_chest"));
|
||||||
|
IronChestEntityType.GOLD_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "gold_chest"));
|
||||||
|
IronChestEntityType.DIAMOND_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "diamond_chest"));
|
||||||
|
IronChestEntityType.CRYSTAL_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "crystal_chest"));
|
||||||
|
IronChestEntityType.DIRT_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "dirt_chest"));
|
||||||
|
IronChestEntityType.COPPER_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "copper_chest"));
|
||||||
|
IronChestEntityType.SILVER_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "silver_chest"));
|
||||||
|
IronChestEntityType.OBSIDIAN_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "obsidian_chest"));
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void createEntries()
|
public void createEntries()
|
||||||
{
|
{
|
||||||
|
|
@ -74,18 +107,19 @@ public class IronChestEntityType
|
||||||
IronChestEntityType.OBSIDIAN_CHEST = (TileEntityType<?>) e.getValue(new ResourceLocation("ironchest", "obsidian_chest"));
|
IronChestEntityType.OBSIDIAN_CHEST = (TileEntityType<?>) e.getValue(new ResourceLocation("ironchest", "obsidian_chest"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*@SubscribeEvent
|
/*
|
||||||
public static void onTileEntityRegistry(final Register<TileEntityType<?>> e)
|
@SubscribeEvent
|
||||||
|
public void onTileEntityRegistry(final RegistryEvent.Register<TileEntityType<?>> e)
|
||||||
{
|
{
|
||||||
System.out.println("hello from onTileEntityRegistry");
|
System.out.println("hello from onTileEntityRegistry");
|
||||||
registerTileEntityType(e.getRegistry(), register("iron_chest", TileEntityType.Builder.create(TileEntityIronChest::new)), "iron_chest");
|
IronChestEntityType.IRON_CHEST = registerTileEntityType(e.getRegistry(), register("iron_chest", TileEntityType.Builder.create(TileEntityIronChest::new)), "iron_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("gold_chest", TileEntityType.Builder.create(TileEntityGoldChest::new)), "gold_chest");
|
IronChestEntityType.GOLD_CHEST = registerTileEntityType(e.getRegistry(), register("gold_chest", TileEntityType.Builder.create(TileEntityGoldChest::new)), "gold_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("diamond_chest", TileEntityType.Builder.create(TileEntityDiamondChest::new)), "diamond_chest");
|
IronChestEntityType.DIAMOND_CHEST = registerTileEntityType(e.getRegistry(), register("diamond_chest", TileEntityType.Builder.create(TileEntityDiamondChest::new)), "diamond_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("crystal_chest", TileEntityType.Builder.create(TileEntityCrystalChest::new)), "crystal_chest");
|
IronChestEntityType.CRYSTAL_CHEST = registerTileEntityType(e.getRegistry(), register("crystal_chest", TileEntityType.Builder.create(TileEntityCrystalChest::new)), "crystal_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("dirt_chest", TileEntityType.Builder.create(TileEntityDirtChest::new)), "dirt_chest");
|
IronChestEntityType.DIRT_CHEST = registerTileEntityType(e.getRegistry(), register("dirt_chest", TileEntityType.Builder.create(TileEntityDirtChest::new)), "dirt_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("copper_chest", TileEntityType.Builder.create(TileEntityCopperChest::new)), "copper_chest");
|
IronChestEntityType.COPPER_CHEST = registerTileEntityType(e.getRegistry(), register("copper_chest", TileEntityType.Builder.create(TileEntityCopperChest::new)), "copper_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("silver_chest", TileEntityType.Builder.create(TileEntitySilverChest::new)), "silver_chest");
|
IronChestEntityType.SILVER_CHEST = registerTileEntityType(e.getRegistry(), register("silver_chest", TileEntityType.Builder.create(TileEntitySilverChest::new)), "silver_chest");
|
||||||
registerTileEntityType(e.getRegistry(), register("obsidian_chest", TileEntityType.Builder.create(TileEntityObsidianChest::new)), "obsidian_chest");
|
IronChestEntityType.OBSIDIAN_CHEST = registerTileEntityType(e.getRegistry(), register("obsidian_chest", TileEntityType.Builder.create(TileEntityObsidianChest::new)), "obsidian_chest");
|
||||||
|
|
||||||
IronChestEntityType.IRON_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "iron_chest"));
|
IronChestEntityType.IRON_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "iron_chest"));
|
||||||
IronChestEntityType.GOLD_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "gold_chest"));
|
IronChestEntityType.GOLD_CHEST = e.getRegistry().getValue(new ResourceLocation("ironchest", "gold_chest"));
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,6 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements IChes
|
||||||
super(typeIn);
|
super(typeIn);
|
||||||
this.chestType = chestTypeIn;
|
this.chestType = chestTypeIn;
|
||||||
this.chestContents = NonNullList.<ItemStack>withSize(chestTypeIn.size, ItemStack.EMPTY);
|
this.chestContents = NonNullList.<ItemStack>withSize(chestTypeIn.size, ItemStack.EMPTY);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -124,8 +123,6 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements IChes
|
||||||
public void markDirty()
|
public void markDirty()
|
||||||
{
|
{
|
||||||
super.markDirty();
|
super.markDirty();
|
||||||
|
|
||||||
//this.sortTopStacks();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue