making the BlockBreaker
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
package nmd.primal.forgecraft.api;
|
||||
|
||||
import net.minecraft.util.SoundEvent;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/24/17.
|
||||
*/
|
||||
public class ForgecraftSounds {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -36,6 +36,8 @@ import nmd.primal.forgecraft.items.ForgeHammer;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/4/17.
|
||||
*/
|
||||
@@ -70,7 +72,6 @@ public class Anvil extends CustomContainerFacing {
|
||||
super(material);
|
||||
setUnlocalizedName(registryName);
|
||||
setRegistryName(registryName);
|
||||
//setRegistryName(ModInfo.ForgecraftBlocks.FIREBOX.getRegistryName());
|
||||
setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
|
||||
setHardness(hardness);
|
||||
@@ -143,7 +144,7 @@ public class Anvil extends CustomContainerFacing {
|
||||
world.playEvent(1031, pos, 0);
|
||||
|
||||
|
||||
if (world.rand.nextBoolean()) {
|
||||
if (ThreadLocalRandom.current().nextInt(0, 2)==0) {
|
||||
|
||||
if (recipe.getOutput().getItem() instanceof ToolPart) {
|
||||
|
||||
|
||||
288
1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java
Normal file
288
1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java
Normal file
@@ -0,0 +1,288 @@
|
||||
package nmd.primal.forgecraft.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.ITileEntityProvider;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumBlockRenderType;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
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 nmd.primal.core.api.PrimalItems;
|
||||
import nmd.primal.core.common.items.tools.WorkMallet;
|
||||
import nmd.primal.forgecraft.CommonUtils;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.crafting.AnvilCrafting;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.init.ModMaterials;
|
||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||
import nmd.primal.forgecraft.items.ForgeHammer;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
import nmd.primal.forgecraft.tiles.TileBreaker;
|
||||
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 4/9/17.
|
||||
*/
|
||||
public class Breaker extends CustomContainerFacing implements ITileEntityProvider {
|
||||
|
||||
public static final PropertyBool ACTIVE = PropertyBool.create("active");
|
||||
|
||||
public Breaker(Material material, String registryName, Float hardness) {
|
||||
super(material);
|
||||
setUnlocalizedName(registryName);
|
||||
setRegistryName(registryName);
|
||||
setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, false));
|
||||
setHardness(hardness);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) {
|
||||
|
||||
if(!world.isRemote){
|
||||
TileBreaker tile = (TileBreaker) world.getTileEntity(pos);
|
||||
ItemStack pItem = player.inventory.getCurrentItem();
|
||||
if(state.getValue(ACTIVE) == true && player.isSneaking() && pItem.isEmpty()){
|
||||
world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(ACTIVE, false));
|
||||
tile.setCharge(0.0F);
|
||||
if (state.getValue(FACING) == EnumFacing.EAST) {
|
||||
if(tile.getCharge() > world.getBlockState(pos.east()).getBlockHardness(world, pos.east())) {
|
||||
if (world.getBlockState(pos.east()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.east());
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2)));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).damageItem(10, null);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.WEST) {
|
||||
if(tile.getCharge() > world.getBlockState(pos.west()).getBlockHardness(world, pos.west())) {
|
||||
if (world.getBlockState(pos.west()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.west());
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2)));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).damageItem(10, null);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.SOUTH) {
|
||||
if(tile.getCharge() > world.getBlockState(pos.south()).getBlockHardness(world, pos.south())) {
|
||||
if (world.getBlockState(pos.south()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.south());
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2)));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).damageItem(10, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.NORTH) {
|
||||
if(tile.getCharge() > world.getBlockState(pos.north()).getBlockHardness(world, pos.north())) {
|
||||
if (world.getBlockState(pos.north()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.north());
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2)));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).damageItem(10, null);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(state.getValue(ACTIVE) == false && !player.isSneaking() && pItem.isEmpty()){
|
||||
world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(ACTIVE, true), 2);
|
||||
tile.setCharge(tile.getCharge() + 2.0f);
|
||||
return true;
|
||||
}
|
||||
|
||||
if(pItem.getItem() instanceof WorkMallet){
|
||||
tile.setSlotStack(0, pItem);
|
||||
pItem.shrink(1);
|
||||
System.out.println(tile.getSlotStack(0));
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state)
|
||||
{
|
||||
if (!world.isRemote && world.getGameRules().getBoolean("doTileDrops"))
|
||||
{
|
||||
TileBreaker tile = (TileBreaker) world.getTileEntity(pos);
|
||||
if (tile !=null)
|
||||
{
|
||||
for (ItemStack stack : tile.getSlotList())
|
||||
{
|
||||
if (stack != null) {
|
||||
float offset = 0.7F;
|
||||
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
|
||||
double offsetY = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
|
||||
double offsetZ = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
|
||||
EntityItem item = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
|
||||
item.setDefaultPickupDelay();
|
||||
world.spawnEntity(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World worldIn, int meta)
|
||||
{
|
||||
return new TileBreaker();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
||||
{
|
||||
//if(!worldIn.isRemote) {
|
||||
worldIn.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing()).withProperty(ACTIVE, false), 2);
|
||||
//}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
int i = 0;
|
||||
|
||||
if(state.getValue(ACTIVE ) == false) {
|
||||
if (state.getValue(FACING) == EnumFacing.EAST) {
|
||||
i = 0;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.WEST) {
|
||||
i = 1;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.SOUTH) {
|
||||
i = 2;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.NORTH) {
|
||||
i = 3;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
if(state.getValue(ACTIVE)) {
|
||||
if (state.getValue(FACING) == EnumFacing.EAST) {
|
||||
i = 4;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.WEST) {
|
||||
i = 5;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.SOUTH) {
|
||||
i = 6;
|
||||
return i;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.NORTH) {
|
||||
i = 7;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
IBlockState iblockstate = this.getDefaultState();
|
||||
|
||||
if (meta == 0){
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.EAST).withProperty(ACTIVE, false);
|
||||
}
|
||||
if (meta == 1) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.WEST).withProperty(ACTIVE, false);
|
||||
}
|
||||
if (meta == 2) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.SOUTH).withProperty(ACTIVE, false);
|
||||
}
|
||||
if (meta == 3) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, false);
|
||||
}
|
||||
if (meta == 4){
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.EAST).withProperty(ACTIVE, true);
|
||||
}
|
||||
if (meta == 5) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.WEST).withProperty(ACTIVE, true);
|
||||
}
|
||||
if (meta == 6) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.SOUTH).withProperty(ACTIVE, true);
|
||||
}
|
||||
if (meta == 7) {
|
||||
iblockstate = iblockstate.withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, true);
|
||||
}
|
||||
return iblockstate;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[] {ACTIVE, FACING});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullyOpaque(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumBlockRenderType getRenderType(IBlockState state)
|
||||
{
|
||||
return EnumBlockRenderType.MODEL;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -35,12 +35,15 @@ public class ModBlocks {
|
||||
|
||||
public static Block firebox;
|
||||
public static Block bloomery;
|
||||
public static Block blockbreaker;
|
||||
|
||||
public static Block pistonbellowsoak;
|
||||
public static Block pistonbellowsjungle;
|
||||
public static Block pistonbellowsbirch;
|
||||
public static Block pistonbellowsspruce;
|
||||
public static Block pistonbellowsdarkoak;
|
||||
public static Block pistonbellowsacacia;
|
||||
|
||||
public static Block emptycrucible;
|
||||
public static Block emptycruciblehot;
|
||||
public static Block emptycruciblecracked;
|
||||
@@ -69,8 +72,8 @@ public class ModBlocks {
|
||||
public static void init() {
|
||||
|
||||
firebox = new Forge(Material.ROCK);
|
||||
|
||||
bloomery = new Bloomery(Material.ROCK, "bloomery");
|
||||
blockbreaker = new Breaker(Material.WOOD, "blockbreaker", 4.0f);
|
||||
|
||||
pistonbellowsoak = new PistonBellows(Material.WOOD, "pistonbellowsoak");
|
||||
pistonbellowsjungle = new PistonBellows(Material.WOOD, "pistonbellowsjungle");
|
||||
@@ -324,6 +327,7 @@ public class ModBlocks {
|
||||
public static void register() {
|
||||
registerBlock(firebox);
|
||||
registerBlock(bloomery);
|
||||
registerBlock(blockbreaker);
|
||||
|
||||
registerBlock(pistonbellowsoak);
|
||||
registerBlock(pistonbellowsjungle);
|
||||
@@ -365,6 +369,7 @@ public class ModBlocks {
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static void registerRenders() {
|
||||
registerRender(firebox);
|
||||
registerRender(blockbreaker);
|
||||
registerRender(pistonbellowsoak);
|
||||
registerRender(pistonbellowsjungle);
|
||||
registerRender(pistonbellowsbirch);
|
||||
|
||||
@@ -41,6 +41,9 @@ public class ModCrafting {
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.bloomery),
|
||||
"X X", "X X", "XXX", 'X', Items.BRICK);
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.blockbreaker),
|
||||
"L ", "BSB", "BBB", 'L', Blocks.LEVER, 'B', new ItemStack(Blocks.PLANKS, 1, OreDictionary.WILDCARD_VALUE), 'S', PrimalItems.SILK_CORDAGE_COILED);
|
||||
|
||||
/*** Soft Crucible ***/
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModItems.softcrucible),
|
||||
"X X", "X X", "XXX", 'X', Items.CLAY_BALL);
|
||||
@@ -181,7 +184,7 @@ public class ModCrafting {
|
||||
);
|
||||
|
||||
//Makes the Finished Hot Iron Crucible
|
||||
BloomeryCrafting.addRecipe(
|
||||
/* BloomeryCrafting.addRecipe(
|
||||
new ItemStack(ModBlocks.hotcookedironcrucible, 1),
|
||||
new ItemStack(ModBlocks.failedironcruciblehot, 1),
|
||||
new ItemStack(ModBlocks.failedironcruciblehot, 1),
|
||||
@@ -192,7 +195,7 @@ public class ModCrafting {
|
||||
0.33f,
|
||||
0.5f
|
||||
);
|
||||
|
||||
*/
|
||||
/******************************************************************************
|
||||
FORGING
|
||||
******************************************************************************/
|
||||
|
||||
@@ -15,6 +15,7 @@ public class ModTiles {
|
||||
registerTileEntity(TileBloomery.class, "bloomery");
|
||||
registerTileEntity(TileBaseCrucible.class, "basecrucible");
|
||||
registerTileEntity(TileAnvil.class, "anvil");
|
||||
registerTileEntity(TileBreaker.class, "breaker");
|
||||
}
|
||||
|
||||
private static void registerTileEntity(Class<? extends TileEntity> tile_class, String baseName) {
|
||||
|
||||
@@ -3,14 +3,8 @@ package nmd.primal.forgecraft.proxy;
|
||||
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.renders.blocks.TileAnvilRender;
|
||||
import nmd.primal.forgecraft.renders.blocks.TileBloomeryRender;
|
||||
import nmd.primal.forgecraft.renders.blocks.TileForgeRender;
|
||||
import nmd.primal.forgecraft.renders.blocks.TilePistonBellowsRender;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
import nmd.primal.forgecraft.tiles.TileBloomery;
|
||||
import nmd.primal.forgecraft.tiles.TileForge;
|
||||
import nmd.primal.forgecraft.tiles.TilePistonBellows;
|
||||
import nmd.primal.forgecraft.renders.blocks.*;
|
||||
import nmd.primal.forgecraft.tiles.*;
|
||||
|
||||
/**
|
||||
* Created by kitsu on 11/26/2016.
|
||||
@@ -39,6 +33,7 @@ public class ClientProxy implements CommonProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TilePistonBellows.class, new TilePistonBellowsRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileBloomery.class, new TileBloomeryRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileAnvil.class, new TileAnvilRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileBreaker.class, new TileBreakerRender());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package nmd.primal.forgecraft.renders.blocks;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderItem;
|
||||
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import nmd.primal.forgecraft.blocks.Breaker;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.tiles.TileBreaker;
|
||||
import nmd.primal.forgecraft.tiles.TileForge;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 4/9/17.
|
||||
*/
|
||||
public class TileBreakerRender extends TileEntitySpecialRenderer<TileBreaker>
|
||||
{
|
||||
private RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileBreaker tile, double x, double y, double z, float partialTicks, int destroyStage)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y + 0.95D, z + 0.5D);
|
||||
GL11.glScalef(1.0f,1.0f,1.0f);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
||||
float prevLGTX = OpenGlHelper.lastBrightnessX;
|
||||
float prevLGTY = OpenGlHelper.lastBrightnessY;
|
||||
BlockPos pos = tile.getPos();
|
||||
IBlockState state = this.getWorld().getBlockState(pos);
|
||||
int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
|
||||
|
||||
//ItemStack stack0 = tile.getSlotStack(0);
|
||||
|
||||
if(state.getValue(Breaker.FACING) == EnumFacing.NORTH) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(tile.getCharge(), 1.0f, 0.0f, 0.0f);
|
||||
renderItem.renderItem(tile.getSlotStack(0), ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@@ -52,21 +52,21 @@ public class TileAnvil extends TileBaseSlot implements ITickable {
|
||||
if ( ThreadLocalRandom.current().nextInt(0,10000) == 0 ) {
|
||||
for(int i=0; i<this.getSlotListSize(); i++){
|
||||
if(this.getSlotStack(i).getItem() == ModItems.ironchunkhot){
|
||||
if(ThreadLocalRandom.current().nextInt(0,100) == 1){
|
||||
if(ThreadLocalRandom.current().nextInt(0,1000) == 1){
|
||||
this.setSlotStack(i, new ItemStack(ModBlocks.ironchunk, 1));
|
||||
this.updateBlock();
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
if(this.getSlotStack(i).getItem() == ModItems.ironingotballhot){
|
||||
if(ThreadLocalRandom.current().nextInt(0,100) == 2){
|
||||
if(ThreadLocalRandom.current().nextInt(0,1000) == 2){
|
||||
this.setSlotStack(i, new ItemStack(ModBlocks.ironball, 1));
|
||||
this.updateBlock();
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
if(this.getSlotStack(i).getItem() instanceof ToolPart){
|
||||
if(ThreadLocalRandom.current().nextInt(0,100) == 0){
|
||||
if(ThreadLocalRandom.current().nextInt(0,1000) == 3){
|
||||
((ToolPart) this.getSlotStack(i).getItem()).setHot(this.getSlotStack(i), false);
|
||||
this.updateBlock();
|
||||
this.markDirty();
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package nmd.primal.forgecraft.tiles;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 4/9/17.
|
||||
*/
|
||||
public class TileBreaker extends TileBaseSlot {
|
||||
|
||||
private float charge;
|
||||
|
||||
public float getCharge() {
|
||||
return charge;
|
||||
}
|
||||
|
||||
public void setCharge(float charge) {
|
||||
this.charge = charge;
|
||||
}
|
||||
|
||||
public NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(2, ItemStack.EMPTY);
|
||||
|
||||
// ***************************************************************************** //
|
||||
// NBT
|
||||
// ***************************************************************************** //
|
||||
@Override
|
||||
public NBTTagCompound readNBT(NBTTagCompound nbt)
|
||||
{
|
||||
super.readNBT(nbt);
|
||||
this.charge = nbt.getFloat("charge");
|
||||
return nbt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeNBT(NBTTagCompound nbt)
|
||||
{
|
||||
nbt.setFloat("charge", this.charge);
|
||||
super.writeNBT(nbt);
|
||||
return nbt;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"variants": {
|
||||
"active=false,facing=north": { "model": "forgecraft:blockbreaker" },
|
||||
"active=false,facing=east": { "model": "forgecraft:blockbreaker", "y": 90 },
|
||||
"active=false,facing=south": { "model": "forgecraft:blockbreaker", "y": 180 },
|
||||
"active=false,facing=west": { "model": "forgecraft:blockbreaker", "y": 270 },
|
||||
"active=true,facing=north": { "model": "forgecraft:blockbreakeractive" },
|
||||
"active=true,facing=east": { "model": "forgecraft:blockbreakeractive", "y": 90 },
|
||||
"active=true,facing=south": { "model": "forgecraft:blockbreakeractive", "y": 180 },
|
||||
"active=true,facing=west": { "model": "forgecraft:blockbreakeractive", "y": 270 }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:blocks/leather",
|
||||
"texture2": "forgecraft:blocks/lever"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Cube1",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 6, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube2",
|
||||
"from": [ 6, 0, 2 ],
|
||||
"to": [ 10, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 6, 0, 10, 14 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 6, 2, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube3",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 16, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX5",
|
||||
"from": [ 6, 0, 0 ],
|
||||
"to": [ 6.001, 2, 2 ],
|
||||
"faces": {
|
||||
"east": { "uv": [ 14, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX6",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 10.001, 2, 2 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 14, 2, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 0, 2, 8 ],
|
||||
"to": [ 2, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 8, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 12, 15, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 12, 8, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 0, 4, 9 ],
|
||||
"to": [ 2, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 10, 14, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 10, 7, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 0, 6, 10 ],
|
||||
"to": [ 2, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 3, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 8, 13, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 14, 2, 8 ],
|
||||
"to": [ 16, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 12, 16, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 12, 7, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 14, 4, 9 ],
|
||||
"to": [ 16, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 10, 15, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 10, 6, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 14, 6, 10 ],
|
||||
"to": [ 16, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 11, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 11, 8, 14, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 8, 5, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube13",
|
||||
"from": [ 2, 6.5, 10.5 ],
|
||||
"to": [ 14, 8, 12 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 2, 1, 14, 3 ], "texture": "#texture1" },
|
||||
"up": { "uv": [ 2, 13, 14, 15 ], "texture": "#texture1" },
|
||||
"north": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" },
|
||||
"south": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube14",
|
||||
"from": [ 2, 5.5, 12.5 ],
|
||||
"to": [ 3, 11.5, 13.5 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 15, 2.5, 16, 3.5 ], "texture": "#texture2" },
|
||||
"up": { "uv": [ 14, 0, 15, 1 ], "texture": "#texture2" },
|
||||
"north": { "uv": [ 11.5, 0, 12.5, 6 ], "texture": "#texture2" },
|
||||
"south": { "uv": [ 13, 0, 14, 6 ], "texture": "#texture2" },
|
||||
"west": { "uv": [ 14, 0, 15, 6 ], "texture": "#texture2" },
|
||||
"east": { "uv": [ 15, 0, 16, 6 ], "texture": "#texture2" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [ 30, 225, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.625, 0.625, 0.625 ]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.25, 0.25, 0.25 ]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ -90, -90, 0 ],
|
||||
"translation": [ 0, 0, -3 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture",
|
||||
"texture1": "blocks/checker_test",
|
||||
"texture2": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Cube1",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 6, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube2",
|
||||
"from": [ 6, 0, 2 ],
|
||||
"to": [ 10, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 6, 0, 10, 14 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 6, 2, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube3",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 16, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX5",
|
||||
"from": [ 6, 0, 0 ],
|
||||
"to": [ 6.001, 2, 2 ],
|
||||
"faces": {
|
||||
"east": { "uv": [ 14, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX6",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 10.001, 2, 2 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 14, 2, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 0, 2, 8 ],
|
||||
"to": [ 2, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 8, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 12, 15, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 12, 8, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 0, 4, 9 ],
|
||||
"to": [ 2, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 10, 14, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 10, 7, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 0, 6, 10 ],
|
||||
"to": [ 2, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 3, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 8, 13, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 14, 2, 8 ],
|
||||
"to": [ 16, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 12, 16, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 12, 7, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 14, 4, 9 ],
|
||||
"to": [ 16, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 10, 15, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 10, 6, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 14, 6, 10 ],
|
||||
"to": [ 16, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 11, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 11, 8, 14, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 8, 5, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube13",
|
||||
"from": [ 2, 6.5, 10.5 ],
|
||||
"to": [ 14, 8, 12 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 2, 1, 14, 3 ], "texture": "#texture1" },
|
||||
"up": { "uv": [ 2, 13, 14, 15 ], "texture": "#texture1" },
|
||||
"north": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" },
|
||||
"south": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube14",
|
||||
"from": [ 2, 5.5, 12.5 ],
|
||||
"to": [ 3, 11.5, 13.5 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 15, 2.5, 16, 3.5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 14, 0, 15, 1 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 11.5, 0, 12.5, 6 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 13, 0, 14, 6 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 14, 0, 15, 6 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 15, 0, 16, 6 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [ 30, 225, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.625, 0.625, 0.625 ]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.25, 0.25, 0.25 ]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ -90, -90, 0 ],
|
||||
"translation": [ 0, 0, -3 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:blocks/leather",
|
||||
"texture2": "forgecraft:blocks/lever"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Cube1",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 6, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube2",
|
||||
"from": [ 6, 0, 2 ],
|
||||
"to": [ 10, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 6, 0, 10, 14 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 6, 2, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 6, 14, 10, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube3",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 16, 2, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 14, 6, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 10, 14, 16, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX5",
|
||||
"from": [ 6, 0, 0 ],
|
||||
"to": [ 6.001, 2, 2 ],
|
||||
"faces": {
|
||||
"east": { "uv": [ 14, 14, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX6",
|
||||
"from": [ 10, 0, 0 ],
|
||||
"to": [ 10.001, 2, 2 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 14, 2, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 0, 2, 8 ],
|
||||
"to": [ 2, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 8, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 12, 15, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 12, 8, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 0, 4, 9 ],
|
||||
"to": [ 2, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 10, 14, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 10, 7, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 0, 6, 10 ],
|
||||
"to": [ 2, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 3, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 8, 13, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube7",
|
||||
"from": [ 14, 2, 8 ],
|
||||
"to": [ 16, 4, 15 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 2, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 9, 2, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 12, 16, 14 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 12, 2, 14 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9, 12, 16, 14 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 12, 7, 14 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube8",
|
||||
"from": [ 14, 4, 9 ],
|
||||
"to": [ 16, 6, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 1, 2, 6 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 10, 2, 15 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 10, 16, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 10, 2, 12 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 10, 10, 15, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 1, 10, 6, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube9",
|
||||
"from": [ 14, 6, 10 ],
|
||||
"to": [ 16, 8, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 2, 2, 5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 0, 11, 2, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 14, 8, 16, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 0, 8, 2, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 11, 8, 14, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 8, 5, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube13",
|
||||
"from": [ 2, 6.5, 10.5 ],
|
||||
"to": [ 14, 8, 12 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 2, 1, 14, 3 ], "texture": "#texture1" },
|
||||
"up": { "uv": [ 2, 13, 14, 15 ], "texture": "#texture1" },
|
||||
"north": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" },
|
||||
"south": { "uv": [ 2, 8, 14, 10 ], "texture": "#texture1" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Cube14",
|
||||
"from": [ 2, 5.5, 12.5 ],
|
||||
"to": [ 3, 11.5, 13.5 ],
|
||||
"rotation": { "origin": [ 2, 5.5, 12.5 ], "axis": "x", "angle": 45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 15, 2.5, 16, 3.5 ], "texture": "#texture2" },
|
||||
"up": { "uv": [ 14, 0, 15, 1 ], "texture": "#texture2" },
|
||||
"north": { "uv": [ 11.5, 0, 12.5, 6 ], "texture": "#texture2" },
|
||||
"south": { "uv": [ 13, 0, 14, 6 ], "texture": "#texture2" },
|
||||
"west": { "uv": [ 14, 0, 15, 6 ], "texture": "#texture2" },
|
||||
"east": { "uv": [ 15, 0, 16, 6 ], "texture": "#texture2" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [ 30, 225, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.625, 0.625, 0.625 ]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.25, 0.25, 0.25 ]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ -90, -90, 0 ],
|
||||
"translation": [ 0, 0, -3 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:blocks/leather",
|
||||
"texture2": "forgecraft:blocks/lever"
|
||||
},
|
||||
"parent": "forgecraft:block/blockbreaker"
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 263 B |
Binary file not shown.
|
After Width: | Height: | Size: 462 B |
Reference in New Issue
Block a user