JSON models hurt my head
This commit is contained in:
parent
f3645a35fa
commit
b45172294d
|
@ -0,0 +1,68 @@
|
|||
package WayofTime.alchemicalWizardry.block;
|
||||
|
||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.PropertyInteger;
|
||||
import net.minecraft.block.state.BlockState;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BlockRitualHome extends Block {
|
||||
|
||||
public static final String[] names = { "master", "imperfect" };
|
||||
public static final PropertyInteger META = PropertyInteger.create("meta", 0, names.length - 1);
|
||||
|
||||
public BlockRitualHome() {
|
||||
super(Material.rock);
|
||||
|
||||
setUnlocalizedName(AlchemicalWizardry.MODID + ".stone.ritual.");
|
||||
setCreativeTab(AlchemicalWizardry.tabBloodMagic);
|
||||
setStepSound(soundTypeStone);
|
||||
setHardness(2.0F);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SuppressWarnings("unchecked")
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List list) {
|
||||
for (int i = 0; i < names.length; i++)
|
||||
list.add(new ItemStack(this, 1, i));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return this.getDefaultState().withProperty(META, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return (Integer) state.getValue(META);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped(IBlockState state) {
|
||||
return getMetaFromState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockState createBlockState() {
|
||||
return new BlockState(this, META);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(this, 1, this.getMetaFromState(world.getBlockState(pos)));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package WayofTime.alchemicalWizardry.item.block;
|
||||
|
||||
import WayofTime.alchemicalWizardry.block.BlockRitualHome;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemBlockRitualHome extends ItemBlock {
|
||||
|
||||
public ItemBlockRitualHome(Block block) {
|
||||
super(block);
|
||||
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return super.getUnlocalizedName(stack) + BlockRitualHome.names[stack.getItemDamage()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int meta) {
|
||||
return meta;
|
||||
}
|
||||
}
|
|
@ -4,6 +4,8 @@ import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
|||
import WayofTime.alchemicalWizardry.ConfigHandler;
|
||||
import WayofTime.alchemicalWizardry.block.BlockAltar;
|
||||
import WayofTime.alchemicalWizardry.block.BlockLifeEssence;
|
||||
import WayofTime.alchemicalWizardry.block.BlockRitualHome;
|
||||
import WayofTime.alchemicalWizardry.item.block.ItemBlockRitualHome;
|
||||
import WayofTime.alchemicalWizardry.util.helper.InventoryRenderHelper;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
|
@ -13,6 +15,7 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
|
|||
public class ModBlocks {
|
||||
|
||||
public static Block altar;
|
||||
public static Block ritualStone;
|
||||
|
||||
public static Block lifeEssence;
|
||||
|
||||
|
@ -23,7 +26,9 @@ public class ModBlocks {
|
|||
public static void init() {
|
||||
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
|
||||
lifeEssence = registerBlock(new BlockLifeEssence());
|
||||
|
||||
altar = registerBlock(new BlockAltar());
|
||||
ritualStone = registerBlock(new BlockRitualHome(), ItemBlockRitualHome.class);
|
||||
|
||||
initTiles();
|
||||
}
|
||||
|
@ -36,6 +41,8 @@ public class ModBlocks {
|
|||
InventoryRenderHelper renderHelper = AlchemicalWizardry.instance.getRenderHelper();
|
||||
|
||||
renderHelper.fluidRender(lifeEssence);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 0);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 1);
|
||||
}
|
||||
|
||||
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) {
|
||||
|
@ -45,6 +52,10 @@ public class ModBlocks {
|
|||
return block;
|
||||
}
|
||||
|
||||
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock) {
|
||||
return registerBlock(block, itemBlock, block.getClass().getSimpleName());
|
||||
}
|
||||
|
||||
private static Block registerBlock(Block block, String name) {
|
||||
if (!ConfigHandler.blockBlacklist.contains(name))
|
||||
GameRegistry.registerBlock(block, name);
|
||||
|
|
|
@ -64,6 +64,10 @@ public class InventoryRenderHelper {
|
|||
itemRender(item, meta, item.getClass().getSimpleName() + meta);
|
||||
}
|
||||
|
||||
public void itemRender(Item item, String name) {
|
||||
itemRender(item, 0, name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shorthand of {@code itemRender(Item, int)}
|
||||
*
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"textures": {
|
||||
"all": "alchemicalwizardry:blocks/MasterRitualStone"
|
||||
},
|
||||
"model": "cube_all",
|
||||
"uvlock": true
|
||||
},
|
||||
"variants": {
|
||||
"meta": {
|
||||
0: {
|
||||
"textures": {
|
||||
"all": "alchemicalwizardry:blocks/MasterRitualStone"
|
||||
}
|
||||
},
|
||||
1: {
|
||||
"textures": {
|
||||
"all": "alchemicalwizardry:blocks/ImperfectRitualStone"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 624 B After Width: | Height: | Size: 624 B |
Loading…
Reference in a new issue