diff --git a/src/main/java/com/cricketcraft/chisel/Chisel.java b/src/main/java/com/cricketcraft/chisel/Chisel.java index 773b1e61..8a5060e7 100644 --- a/src/main/java/com/cricketcraft/chisel/Chisel.java +++ b/src/main/java/com/cricketcraft/chisel/Chisel.java @@ -1,6 +1,20 @@ package com.cricketcraft.chisel; -import com.cricketcraft.chisel.api.IChiselItem; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.config.Configuration; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.cricketcraft.chisel.block.BlockCarvable; import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; import com.cricketcraft.chisel.block.tileentity.TileEntityPresent; @@ -19,6 +33,7 @@ import com.cricketcraft.chisel.inventory.ContainerChisel; import com.cricketcraft.chisel.inventory.ContainerPresent; import com.cricketcraft.chisel.inventory.InventoryChiselSelection; import com.cricketcraft.chisel.item.chisel.ChiselController; +import com.cricketcraft.chisel.network.PacketHandler; import com.cricketcraft.chisel.proxy.CommonProxy; import com.cricketcraft.chisel.utils.General; import com.cricketcraft.chisel.world.GeneratorChisel; @@ -30,8 +45,12 @@ import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLInterModComms; +import cpw.mods.fml.common.event.FMLMissingMappingsEvent; import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.NetworkRegistry; @@ -39,22 +58,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry.Type; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.config.Configuration; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft;after:appliedenergistics2;after:Railcraft") +@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft;after:appliedenergistics2;after:Railcraft;after:AWWayofTime") public class Chisel { public static final List modsSupported = new ArrayList(); @@ -71,7 +76,9 @@ public class Chisel { public static int renderCarpetId; public static int renderAutoChiselId; public static int renderGlowId; - + public static int renderLayeredId; + public static int roadLineId; + public static final Logger logger = LogManager.getLogger(MOD_ID); @Instance(MOD_ID) diff --git a/src/main/java/com/cricketcraft/chisel/PacketHandler.java b/src/main/java/com/cricketcraft/chisel/PacketHandler.java deleted file mode 100644 index 7c65050d..00000000 --- a/src/main/java/com/cricketcraft/chisel/PacketHandler.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.cricketcraft.chisel; - -import com.cricketcraft.chisel.item.chisel.ChiselController; - -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.relauncher.Side; - -public class PacketHandler { - - public static final SimpleNetworkWrapper INSTANCE = new SimpleNetworkWrapper(Chisel.MOD_ID); - - public static void init() { - INSTANCE.registerMessage(ChiselController.PlaySoundHandler.class, ChiselController.PacketPlaySound.class, 0, Side.CLIENT); - } -} \ No newline at end of file diff --git a/src/main/java/com/cricketcraft/chisel/api/IFacade.java b/src/main/java/com/cricketcraft/chisel/api/IFacade.java index 1e4f16d6..202a63a1 100644 --- a/src/main/java/com/cricketcraft/chisel/api/IFacade.java +++ b/src/main/java/com/cricketcraft/chisel/api/IFacade.java @@ -2,6 +2,7 @@ package com.cricketcraft.chisel.api; import net.minecraft.block.Block; import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; /** * To be implemented on blocks that "hide" another block inside, so connected textuers can still be diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java b/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java index 9bf227e8..7127ed37 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java @@ -20,6 +20,7 @@ public class BlockAutoChisel extends BlockContainer { public BlockAutoChisel() { super(Material.rock); setHardness(1F); + setBlockBounds(0.125f, 0, 0.125f, 0.875f, 0.8125f, 0.875f); } @Override @@ -46,7 +47,7 @@ public class BlockAutoChisel extends BlockContainer { if (tile != null && tile instanceof TileEntityAutoChisel && !player.isSneaking()) { player.openGui(Chisel.instance, 1, world, x, y, z); } - + return true; } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java index da98ead3..977d4f54 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java @@ -18,6 +18,7 @@ public class BlockCarvableGlow extends BlockCarvable { public BlockCarvableGlow(String glowTexture) { super(); + this.setLightLevel(0.5F); //Same as redstone torch this.glowTexturePath = glowTexture; } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlowstone.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlowstone.java new file mode 100644 index 00000000..c38c4fed --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlowstone.java @@ -0,0 +1,42 @@ +package com.cricketcraft.chisel.block; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class BlockCarvableGlowstone extends BlockCarvable { + + public BlockCarvableGlowstone() { + super(Material.glass); + } + + @Override + public int quantityDropped(Random random) { + return Blocks.glowstone.quantityDropped(random); + } + + @Override + public Item getItemDropped(int i, Random random, int a) { + return Items.glowstone_dust; + } + + @Override + public int damageDropped(int i) { + return 0; + } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) + { + Block glowstone = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + return new ItemStack(Item.getItemFromBlock(glowstone), 1, meta); + } +} diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableLayered.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableLayered.java new file mode 100644 index 00000000..92f0a117 --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableLayered.java @@ -0,0 +1,38 @@ +package com.cricketcraft.chisel.block; + +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +import com.cricketcraft.chisel.Chisel; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockCarvableLayered extends BlockCarvable { + @SideOnly(Side.CLIENT) + private IIcon baseTexture; + private String baseTexLocation; + + public BlockCarvableLayered(Material mat, String baseTexLocation) { + super(mat); + this.baseTexLocation = baseTexLocation; + } + @Override + public void registerBlockIcons(IIconRegister register) { + super.registerBlockIcons(register); + baseTexture = register.registerIcon(Chisel.MOD_ID + ":" + baseTexLocation); + } + public IIcon getBaseTex() { + return baseTexture; + } + @Override + public int getRenderType() { + return Chisel.renderLayeredId; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } +} diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java new file mode 100644 index 00000000..01d32a44 --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java @@ -0,0 +1,87 @@ +package com.cricketcraft.chisel.block; + +import java.util.Random; + +import net.minecraft.block.BlockTorch; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.world.World; + +import com.cricketcraft.chisel.Chisel; +import com.cricketcraft.chisel.api.ICarvable; +import com.cricketcraft.chisel.carving.CarvableHelper; +import com.cricketcraft.chisel.carving.CarvableVariation; +import com.cricketcraft.chisel.init.ChiselTabs; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockCarvableTorch extends BlockTorch implements ICarvable +{ + public CarvableHelper carverHelper; + private String texLocation; + protected boolean emitsParticles = true; + + public BlockCarvableTorch() + { + super(); + carverHelper = new CarvableHelper(); + setCreativeTab(ChiselTabs.tabOtherChiselBlocks); + setLightLevel(0.9375F); + setBlockName("torch"); + } + @Override + public CarvableVariation getVariation(int metadata) { + return carverHelper.getVariation(metadata); + } + @Override + public void registerBlockIcons(IIconRegister icon){ + this.blockIcon = icon.registerIcon(Chisel.MOD_ID + ":torch/"+ texLocation); + } + public void setInformation(String textureLocation){ + this.texLocation = textureLocation; + } + public BlockCarvableTorch disableParticles() + { + this.emitsParticles = false; + return this; + } + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) + { + if(emitsParticles) + { + int l = p_149734_1_.getBlockMetadata(p_149734_2_, p_149734_3_, p_149734_4_); + double d0 = (double)((float)p_149734_2_ + 0.5F); + double d1 = (double)((float)p_149734_3_ + 0.7F); + double d2 = (double)((float)p_149734_4_ + 0.5F); + double d3 = 0.2199999988079071D; + double d4 = 0.27000001072883606D; + + if (l == 1) + { + p_149734_1_.spawnParticle("smoke", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", d0, d1 + d3, d2 - d4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", d0, d1 + d3, d2 - d4, 0.0D, 0.0D, 0.0D); + } + else if (l == 4) + { + p_149734_1_.spawnParticle("smoke", d0, d1 + d3, d2 + d4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", d0, d1 + d3, d2 + d4, 0.0D, 0.0D, 0.0D); + } + else + { + p_149734_1_.spawnParticle("smoke", d0, d1, d2, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockLightstoneCarvable.java b/src/main/java/com/cricketcraft/chisel/block/BlockLightstoneCarvable.java deleted file mode 100644 index 27ab5799..00000000 --- a/src/main/java/com/cricketcraft/chisel/block/BlockLightstoneCarvable.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.cricketcraft.chisel.block; - -import java.util.Random; - -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; - -public class BlockLightstoneCarvable extends BlockCarvable { - - public BlockLightstoneCarvable() { - super(Material.glass); - } - - @Override - public int quantityDropped(Random random) { - return Blocks.glowstone.quantityDropped(random); - } - - @Override - public Item getItemDropped(int i, Random random, int a) { - return Items.glowstone_dust; - } - - @Override - public int damageDropped(int i) { - return 0; - } -} diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockRoadLine.java b/src/main/java/com/cricketcraft/chisel/block/BlockRoadLine.java index 40f0e497..5d0ffec9 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockRoadLine.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockRoadLine.java @@ -6,19 +6,27 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import com.cricketcraft.chisel.client.render.BlockRoadLineRenderer; +import com.cricketcraft.chisel.Chisel; +import com.cricketcraft.chisel.config.Configurations; -public class BlockRoadLine extends Block { +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; - public IIcon aloneIcon; - public IIcon halfLineIcon; - public IIcon fullLineIcon; +public class BlockRoadLine extends BlockCarvable { + + public IIcon aloneIcon[] = new IIcon[4]; + public IIcon halfLineIcon[] = new IIcon[4]; + public IIcon fullLineIcon[] = new IIcon[4]; public BlockRoadLine() { super(Material.circuits); + if (Configurations.useRoadLineTool) { + this.setHarvestLevel(Configurations.getRoadLineTool, Configurations.roadLineToolLevel); + } this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.00390625f, 1.0f); // this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F); } @@ -40,7 +48,7 @@ public class BlockRoadLine extends Block { @Override public int getRenderType() { - return BlockRoadLineRenderer.id; + return Chisel.roadLineId; } @Override @@ -62,10 +70,25 @@ public class BlockRoadLine extends Block { } @Override + @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { - blockIcon = aloneIcon = reg.registerIcon("Chisel:line-marking/white-center"); - halfLineIcon = reg.registerIcon("Chisel:line-marking/white-side"); - fullLineIcon = reg.registerIcon("Chisel:line-marking/white-long"); + for (int i = 0; i < 4; i++) { + String[] texNames = { "white", "yellow", "double-white", "double-yellow" }; + aloneIcon[i] = reg.registerIcon("Chisel:line-marking/" + texNames[i] + "-center"); + halfLineIcon[i] = reg.registerIcon("Chisel:line-marking/" + texNames[i] + "-side"); + fullLineIcon[i] = reg.registerIcon("Chisel:line-marking/" + texNames[i] + "-long"); + } } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return aloneIcon[metadata % aloneIcon.length]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + return getIcon(side, world.getBlockMetadata(x, y, z)); + } } diff --git a/src/main/java/com/cricketcraft/chisel/block/tileentity/TileEntityAutoChisel.java b/src/main/java/com/cricketcraft/chisel/block/tileentity/TileEntityAutoChisel.java index e286ba93..754de116 100644 --- a/src/main/java/com/cricketcraft/chisel/block/tileentity/TileEntityAutoChisel.java +++ b/src/main/java/com/cricketcraft/chisel/block/tileentity/TileEntityAutoChisel.java @@ -17,6 +17,9 @@ import net.minecraft.util.StatCollector; import com.cricketcraft.chisel.api.IChiselItem; import com.cricketcraft.chisel.carving.Carving; import com.cricketcraft.chisel.init.ChiselItems; +import com.cricketcraft.chisel.network.PacketHandler; +import com.cricketcraft.chisel.network.message.MessageAutoChisel; +import com.cricketcraft.chisel.network.message.MessageSlotUpdate; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -42,7 +45,12 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory private ItemStack[] inventory = new ItemStack[7]; private String name = "autoChisel"; - public float xRot, yRot, zRot; // used for floating target client only + // used for floating target client only + public float xRot, yRot, zRot; + + // used for chisel item rotation client only + public float chiselRot; + public boolean chiseling = false; @Override public boolean canUpdate() { @@ -122,22 +130,21 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory if (canMerge(chiseled)) { // if our output is empty, just use the current result if (output == null) { - inventory[OUTPUT] = chiseled; + setInventorySlotContents(OUTPUT, chiseled); } else { // otherwise just add our result to the existing stack inventory[OUTPUT].stackSize += chiseled.stackSize; + slotChanged(OUTPUT); } // remove what we made from the stack base.stackSize -= chiseled.stackSize; + slotChanged(BASE); if (base.stackSize <= 0) { - inventory[BASE] = null; // clear out 0 size itemstacks + setInventorySlotContents(BASE, null); // clear out 0 size itemstacks } // TODO here we need to send a packet to the client so that the animation and sound can be played - ((IChiselItem) inventory[CHISEL].getItem()).onChisel(worldObj, this, CHISEL, inventory[CHISEL], inventory[TARGET]); - - // we changed something, so we need to tell the chunk to save - markDirty(); + chiselItem(); } } } @@ -163,7 +170,7 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory // need to check NBT as well as item if (toMerge.isItemEqual(inventory[OUTPUT]) && ItemStack.areItemStackTagsEqual(toMerge, inventory[OUTPUT])) { // we only care about metadata if the item has subtypes - return toMerge.getHasSubtypes() && toMerge.getItemDamage() == inventory[OUTPUT].getItemDamage(); + return !toMerge.getHasSubtypes() || toMerge.getItemDamage() == inventory[OUTPUT].getItemDamage(); } return false; @@ -173,6 +180,12 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory return inventory[CHISEL] != null && inventory[CHISEL].getItem() instanceof IChiselItem && inventory[CHISEL].stackSize >= 1; } + /** Calls IChiselItem#onChisel() and sends the chisel packet for sound/animation */ + private void chiselItem() { + ((IChiselItem) inventory[CHISEL].getItem()).onChisel(worldObj, this, CHISEL, inventory[CHISEL], inventory[TARGET]); + PacketHandler.INSTANCE.sendToDimension(new MessageAutoChisel(this), worldObj.provider.dimensionId); + } + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -221,6 +234,14 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory if (stack != null && stack.stackSize > getInventoryStackLimit()) { stack.stackSize = getInventoryStackLimit(); } + + if (!worldObj.isRemote) { + slotChanged(slot); + } + } + + private void slotChanged(int slot) { + PacketHandler.INSTANCE.sendToDimension(new MessageSlotUpdate(this, slot, inventory[slot]), worldObj.provider.dimensionId); markDirty(); } @@ -246,7 +267,7 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory @Override public int[] getAccessibleSlotsFromSide(int side) { - return new int[] { BASE, OUTPUT }; + return new int[] { BASE, TARGET, OUTPUT, CHISEL }; } @Override @@ -270,7 +291,7 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory @Override public boolean canInsertItem(int slot, ItemStack itemStack, int side) { - return hasUpgrade(Upgrade.AUTOMATION) && slot == BASE; + return hasUpgrade(Upgrade.AUTOMATION) && (slot == BASE || slot == TARGET || slot == CHISEL); } @Override @@ -337,4 +358,8 @@ public class TileEntityAutoChisel extends TileEntity implements ISidedInventory return Upgrade.values()[slotNumber - MIN_UPGRADE].getUnlocalizedName() + ".name"; } } + + public void doChiselAnim() { + chiseling = true; + } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockGlowRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockGlowRenderer.java index 84127aee..00503ee0 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockGlowRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockGlowRenderer.java @@ -1,13 +1,13 @@ package com.cricketcraft.chisel.client.render; -import org.lwjgl.opengl.GL11; - import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.item.ItemDye; import net.minecraft.world.IBlockAccess; +import org.lwjgl.opengl.GL11; + import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.BlockCarvableGlow; import com.cricketcraft.chisel.utils.Drawing; diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockLayeredRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockLayeredRenderer.java new file mode 100644 index 00000000..ee9b254b --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockLayeredRenderer.java @@ -0,0 +1,50 @@ +package com.cricketcraft.chisel.client.render; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; + +import org.lwjgl.opengl.GL11; + +import com.cricketcraft.chisel.Chisel; +import com.cricketcraft.chisel.block.BlockCarvableLayered; +import com.cricketcraft.chisel.utils.Drawing; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import cpw.mods.fml.client.registry.RenderingRegistry; + +public class BlockLayeredRenderer implements ISimpleBlockRenderingHandler { + + public BlockLayeredRenderer() { + Chisel.renderLayeredId = RenderingRegistry.getNextAvailableRenderId(); + } + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + GL11.glDisable(GL11.GL_LIGHTING); + Drawing.drawBlock(block, ((BlockCarvableLayered)block).getBaseTex(), renderer); + GL11.glEnable(GL11.GL_LIGHTING); + Drawing.drawBlock(block, metadata, renderer); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Drawing.renderAllFaces(renderer, block, x, y, z, ((BlockCarvableLayered) block).getBaseTex()); + Tessellator.instance.setBrightness(0xFFFFFF); + renderer.renderStandardBlock(block, x, y, z); + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return Chisel.renderLayeredId; + } +} diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockRoadLineRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockRoadLineRenderer.java index 7cd2a343..437d16b5 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockRoadLineRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockRoadLineRenderer.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; +import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.BlockRoadLine; import com.cricketcraft.chisel.utils.Drawing; @@ -15,10 +16,8 @@ import cpw.mods.fml.client.registry.RenderingRegistry; public class BlockRoadLineRenderer implements ISimpleBlockRenderingHandler { - public static int id; - public BlockRoadLineRenderer() { - id = RenderingRegistry.getNextAvailableRenderId(); + Chisel.roadLineId = RenderingRegistry.getNextAvailableRenderId(); } @Override @@ -60,10 +59,10 @@ public class BlockRoadLineRenderer implements ISimpleBlockRenderingHandler { } tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - boolean N = world.getBlock(x, y, z - 1).equals(block); - boolean S = world.getBlock(x, y, z + 1).equals(block); - boolean W = world.getBlock(x - 1, y, z).equals(block); - boolean E = world.getBlock(x + 1, y, z).equals(block); + boolean N = world.getBlock(x, y, z - 1).equals(block) && world.getBlockMetadata(x, y, z - 1) == meta; + boolean S = world.getBlock(x, y, z + 1).equals(block) && world.getBlockMetadata(x, y, z + 1) == meta; + boolean W = world.getBlock(x - 1, y, z).equals(block) && world.getBlockMetadata(x - 1, y, z) == meta; + boolean E = world.getBlock(x + 1, y, z).equals(block) && world.getBlockMetadata(x + 1, y, z) == meta; if (!N && !S && !W && !E) { renderer.renderStandardBlock(block, x, y, z); @@ -72,18 +71,18 @@ public class BlockRoadLineRenderer implements ISimpleBlockRenderingHandler { if (N && S) { renderer.uvRotateTop = 0; - renderer.overrideBlockTexture = block.fullLineIcon; + renderer.overrideBlockTexture = block.fullLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } else { if (N) { renderer.uvRotateTop = 0; - renderer.overrideBlockTexture = block.halfLineIcon; + renderer.overrideBlockTexture = block.halfLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } if (S) { renderer.uvRotateTop = 3; - renderer.overrideBlockTexture = block.halfLineIcon; + renderer.overrideBlockTexture = block.halfLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } @@ -91,17 +90,17 @@ public class BlockRoadLineRenderer implements ISimpleBlockRenderingHandler { if (E && W) { renderer.uvRotateTop = 1; - renderer.overrideBlockTexture = block.fullLineIcon; + renderer.overrideBlockTexture = block.fullLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } else { if (E) { renderer.uvRotateTop = 1; - renderer.overrideBlockTexture = block.halfLineIcon; + renderer.overrideBlockTexture = block.halfLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } if (W) { renderer.uvRotateTop = 2; - renderer.overrideBlockTexture = block.halfLineIcon; + renderer.overrideBlockTexture = block.halfLineIcon[meta]; renderer.renderStandardBlock(block, x, y, z); } } @@ -118,6 +117,6 @@ public class BlockRoadLineRenderer implements ISimpleBlockRenderingHandler { @Override public int getRenderId() { - return id; + return Chisel.roadLineId; } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/RenderStandardBlockNoSunlight.java b/src/main/java/com/cricketcraft/chisel/client/render/RenderStandardBlockNoSunlight.java index 0ecfb374..e61e44fb 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/RenderStandardBlockNoSunlight.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/RenderStandardBlockNoSunlight.java @@ -1,7 +1,6 @@ package com.cricketcraft.chisel.client.render; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; diff --git a/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java b/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java index 82a91b04..7fe9c67b 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java @@ -4,6 +4,7 @@ import java.util.Random; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntityDiggingFX; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderItem; @@ -13,6 +14,7 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -27,6 +29,9 @@ import org.lwjgl.opengl.GL11; import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; +import com.cricketcraft.chisel.carving.Carving; +import com.cricketcraft.chisel.client.GeneralChiselClient; +import com.cricketcraft.chisel.utils.GeneralClient; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -169,21 +174,50 @@ public class RenderAutoChisel extends TileEntitySpecialRenderer implements ISimp if (item != null) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.35, y + 0.934, z + 0.5); + item.getEntityItem().stackSize = autoChisel.getStackInSlot(TileEntityAutoChisel.BASE).stackSize; renderItem.doRender(item, 0, 0, 0, 0, 0); GL11.glPopMatrix(); } - + item = autoChisel.getItemForRendering(TileEntityAutoChisel.CHISEL); if (item != null) { + if (autoChisel.chiseling) { + autoChisel.chiselRot += 1; + if (autoChisel.chiselRot > 70) { + chiselItem(autoChisel); + } + } else { + autoChisel.chiselRot = Math.max(autoChisel.chiselRot - 1, 0); + } GL11.glPushMatrix(); - GL11.glTranslated(x + 0.7, y + 1, z + 0.5); + GL11.glTranslated(x + 0.7, y + 1.01, z + 0.5); + GL11.glRotatef(autoChisel.chiselRot, 0, 0, 1); GL11.glTranslated(-0.12, 0, 0); GL11.glScalef(0.9f, 0.9f, 0.9f); renderItem.doRender(item, 0, 0, 0, 0, 0); GL11.glPopMatrix(); + } else { + autoChisel.chiselRot = 0; + autoChisel.chiseling = false; } } + private void chiselItem(TileEntityAutoChisel autoChisel) { + World world = autoChisel.getWorldObj(); + ItemStack base = autoChisel.getStackInSlot(TileEntityAutoChisel.BASE); + if (base != null) { + for (int i = 0; i < 5; i++) { + EntityDiggingFX particle = new EntityDiggingFX(world, autoChisel.xCoord + 0.5, autoChisel.yCoord + 1, autoChisel.zCoord + 0.5, 0, 0, 0, Block.getBlockFromItem(base.getItem()), + base.getItemDamage()); + particle.setVelocity((world.rand.nextDouble() / 4) - 0.125, world.rand.nextDouble() / 8, (world.rand.nextDouble() / 4) - 0.125); + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + } + String sound = Carving.chisel.getVariationSound(base.getItem(), base.getItemDamage()); + GeneralClient.playChiselSound(world, autoChisel.xCoord, autoChisel.yCoord, autoChisel.zCoord, sound); + } + autoChisel.chiseling = false; + } + @SideOnly(Side.CLIENT) public EntityItem getGhostItem(World world, ItemStack itemStack) { if (ghostItem == null) { diff --git a/src/main/java/com/cricketcraft/chisel/config/Configurations.java b/src/main/java/com/cricketcraft/chisel/config/Configurations.java index c73698c2..f064eca4 100644 --- a/src/main/java/com/cricketcraft/chisel/config/Configurations.java +++ b/src/main/java/com/cricketcraft/chisel/config/Configurations.java @@ -2,12 +2,12 @@ package com.cricketcraft.chisel.config; import java.util.Locale; +import net.minecraftforge.common.config.Configuration; + import org.apache.commons.lang3.StringUtils; import com.cricketcraft.chisel.init.Features; -import net.minecraftforge.common.config.Configuration; - public class Configurations { public static Configuration config; @@ -39,6 +39,10 @@ public class Configurations { public static int diamondChiselMaxDamage; public static boolean ironChiselCanLeftClick; + public static boolean useRoadLineTool; + public static String getRoadLineTool; + public static int roadLineToolLevel; + public static boolean refreshConfig() { String category; @@ -79,6 +83,12 @@ public class Configurations { diamondChiselMaxDamage = config.get(category, "diamondChiselMaxDamage", 5000, "The max damage of the diamond chisel. Default: 5000").getInt(); ironChiselCanLeftClick = config.get(category, "ironChiselCanLeftClick", true, "If this is true, the iron chisel can left click chisel blocks. If false, it cannot.").getBoolean(); + /* block */ + category = "block"; + useRoadLineTool = config.get(category, "useRoadLineTool", false, "Should the road line require a tool to break (If false, road lines can be broken in Adventure)").getBoolean(); + getRoadLineTool = config.get(category, "getRoadLineTool","pickaxe","The tool that is able to break roadLines (requires useRoadLineTool to be true to take effect)").getString(); + roadLineToolLevel = config.get(category, "roadLineToolLevel",0,"The lowest harvest level of the tool able to break the road lines (requires useRoadLineTool to be true to take effect) (0 = Wood/Gold, 1 = Stone, 2 = Iron, 3 = Diamond) Default: 0").getInt(); + if (config.hasChanged()) { config.save(); } diff --git a/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java b/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java index 448fe36b..d50ea6b8 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java +++ b/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java @@ -1,11 +1,9 @@ package com.cricketcraft.chisel.init; -import com.cricketcraft.chisel.block.*; -import net.minecraft.block.Block; - import com.cricketcraft.chisel.Chisel; - +import com.cricketcraft.chisel.block.*; import cpw.mods.fml.common.registry.GameRegistry.ObjectHolder; +import net.minecraft.block.Block; @ObjectHolder(Chisel.MOD_ID) public final class ChiselBlocks { @@ -29,7 +27,7 @@ public final class ChiselBlocks { public static final BlockCarvable iron_block = null; public static final BlockCarvable gold_block = null; public static final BlockCarvable diamond_block = null; - public static final BlockLightstoneCarvable glowstone = null; + public static final BlockCarvableGlowstone glowstone = null; public static final BlockCarvable lapis_block = null; public static final BlockCarvable emerald_block = null; public static final BlockCarvable nether_brick = null; @@ -78,13 +76,15 @@ public final class ChiselBlocks { public static final BlockCarvable technical = null; public static final BlockCarvableGlass technical2 = null; public static final BlockCarvable futura = null; - public static final BlockCarvable bone = null; - public static final BlockCarvable scorching = null; public static final BlockCarvable brickCustom = null; - public static final BlockCarvable sign = null; + public static final BlockCarvableLayered sign = null; public static final BlockCarvable arcane = null; + public static final BlockCarvable thaumium = null; + public static final BlockCarvable tallow = null; + public static final BlockCarvable bloodRune = null; public static final BlockCarvableSand colored_sand = null; + public static BlockCarvableTorch[] torch = new BlockCarvableTorch[16]; // Arrays can't be final because of how @ObjectHolder works public static BlockCarvable[] planks = new BlockCarvable[6]; diff --git a/src/main/java/com/cricketcraft/chisel/init/Features.java b/src/main/java/com/cricketcraft/chisel/init/Features.java index 95afd977..e6c92c23 100644 --- a/src/main/java/com/cricketcraft/chisel/init/Features.java +++ b/src/main/java/com/cricketcraft/chisel/init/Features.java @@ -1,6 +1,20 @@ package com.cricketcraft.chisel.init; +import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.*; +import com.cricketcraft.chisel.carving.CarvableHelper; +import com.cricketcraft.chisel.carving.CarvableVariation; +import com.cricketcraft.chisel.carving.Carving; +import com.cricketcraft.chisel.config.Configurations; +import com.cricketcraft.chisel.entity.EntityBallOMoss; +import com.cricketcraft.chisel.entity.EntityCloudInABottle; +import com.cricketcraft.chisel.entity.EntitySmashingRock; +import com.cricketcraft.chisel.item.*; +import com.cricketcraft.chisel.item.chisel.ItemChisel; +import com.cricketcraft.chisel.item.chisel.ItemChisel.ChiselType; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.EntityRegistry; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -14,29 +28,8 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import com.cricketcraft.chisel.Chisel; -import com.cricketcraft.chisel.carving.CarvableHelper; -import com.cricketcraft.chisel.carving.CarvableVariation; -import com.cricketcraft.chisel.carving.Carving; -import com.cricketcraft.chisel.config.Configurations; -import com.cricketcraft.chisel.entity.EntityBallOMoss; -import com.cricketcraft.chisel.entity.EntityCloudInABottle; -import com.cricketcraft.chisel.entity.EntitySmashingRock; -import com.cricketcraft.chisel.item.ItemBallOMoss; -import com.cricketcraft.chisel.item.ItemCarvable; -import com.cricketcraft.chisel.item.ItemCloudInABottle; -import com.cricketcraft.chisel.item.ItemMarbleSlab; -import com.cricketcraft.chisel.item.ItemSmashingRock; -import com.cricketcraft.chisel.item.ItemUpgrade; -import com.cricketcraft.chisel.item.chisel.ItemChisel; -import com.cricketcraft.chisel.item.chisel.ItemChisel.ChiselType; - -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; - import static com.cricketcraft.chisel.init.ChiselBlocks.*; -import static com.cricketcraft.chisel.utils.General.*; +import static com.cricketcraft.chisel.utils.General.sGNames; public enum Features { @@ -138,8 +131,47 @@ public enum Features { } }, + THAUMIUM("Thaumcraft") { + + @Override + void addBlocks() { + BlockCarvable thaumium = (BlockCarvable) new BlockCarvable(Material.iron).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setStepSound(Block.soundTypeMetal); + Carving.chisel.addVariation("thaumium", GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 4, 0); + thaumium.carverHelper.addVariation(StatCollector.translateToLocal("tile.thaumium.0.desc"), 0, "thaumium/bevel"); + thaumium.carverHelper.addVariation(StatCollector.translateToLocal("tile.thaumium.1.desc"), 1, "thaumium/chunks"); + thaumium.carverHelper.addVariation(StatCollector.translateToLocal("tile.thaumium.2.desc"), 2, "thaumium/purplerunes"); + thaumium.carverHelper.addVariation(StatCollector.translateToLocal("tile.thaumium.3.desc"), 3, "thaumium/runes"); + thaumium.carverHelper.register(thaumium, "thaumium"); + Carving.chisel.registerOre("thaumium", "thaumium"); + } + }, + + TALLOW("Thaumcraft") { + + @Override + void addBlocks() { + BlockCarvable tallow = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setStepSound(Block.soundTypeSnow); + Carving.chisel.addVariation("tallow", GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 5, 0); + tallow.carverHelper.register(tallow, "tallow"); + Carving.chisel.registerOre("tallow", "tallow"); + } + }, + + AMBER("Thaumcraft") { + + @Override + void addBlocks() { + BlockCarvable amber = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setStepSound(Block.soundTypeStone); + Carving.chisel.addVariation("amber", GameRegistry.findBlock("Thaumcraft", "blockCosmeticOpaque"), 0, 0); + Carving.chisel.addVariation("amber", GameRegistry.findBlock("Thaumcraft", "blockCosmeticOpaque"), 1, 1); + amber.carverHelper.register(amber, "amber"); + Carving.chisel.registerOre("amber", "amber"); + } + }, + AUTO_CHISEL { + @Override void addBlocks() { Block autoChisel = new BlockAutoChisel().setBlockTextureName(Chisel.MOD_ID + ":autoChisel/autoChisel").setCreativeTab(ChiselTabs.tabChisel).setBlockName("autoChisel"); GameRegistry.registerBlock(autoChisel, "autoChisel"); @@ -147,8 +179,8 @@ public enum Features { @Override void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ChiselBlocks.autoChisel, 1), new Object[] { "XXX", "XYX", "XXX", Character.valueOf('X'), "plankWood", Character.valueOf('Y'), - ChiselItems.chisel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ChiselBlocks.autoChisel, 1), new Object[] { "XXX", " Y ", "YYY", Character.valueOf('X'), Blocks.stone_slab, Character.valueOf('Y'), + "ingotIron" })); } }, @@ -176,12 +208,12 @@ public enum Features { } }, - BLOOD_RUNE("AWWayOfTime") { + BLOOD_RUNE("AWWayofTime") { @Override void addBlocks() { BlockCarvable bloodRune = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setStepSound(Block.soundTypeStone); - Carving.chisel.addVariation("bloodRune", GameRegistry.findBlock("AWWayOfTime", "bloodRune.blank"), 0, 0); + Carving.chisel.addVariation("bloodRune", GameRegistry.findBlock("AWWayofTime", "AlchemicalWizardrybloodRune"), 0, 0); bloodRune.carverHelper.addVariation(StatCollector.translateToLocal("tile.bloodRune.0.desc"), 0, "bloodMagic/bloodRuneArranged"); bloodRune.carverHelper.addVariation(StatCollector.translateToLocal("tile.bloodRune.1.desc"), 1, "bloodMagic/bloodRuneBricks"); bloodRune.carverHelper.addVariation(StatCollector.translateToLocal("tile.bloodRune.2.desc"), 2, "bloodMagic/bloodRuneCarved"); @@ -676,9 +708,10 @@ public enum Features { void addBlocks() { BlockCarvable futura = (BlockCarvable) new BlockCarvable(Material.rock/* , "futura/screenOverlay-ctm" */).setCreativeTab(ChiselTabs.tabMetalChiselBlocks).setHardness(2.0F) .setResistance(10F); - futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.0.desc"), 0, "futura/screenMetallicWIP"); - futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.1.desc"), 1, "futura/screenCyanWIP"); - futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.2.desc"), 2, "futura/controllerWIP"); + futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.0.desc"), 0, "futura/WIP/screenMetallicWIP"); + futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.1.desc"), 1, "futura/WIP/screenCyanWIP"); + futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.2.desc"), 2, "futura/WIP/controllerWIP"); + futura.carverHelper.addVariation(StatCollector.translateToLocal("tile.futura.3.desc"), 3, "futura/WIP/wavyWIP"); futura.carverHelper.register(futura, "futura"); Carving.chisel.registerOre("futura", "futura"); } @@ -732,6 +765,7 @@ public enum Features { GLASS_STAINED { + @Override void addBlocks() { for (int i = 0; i < 16; i++) { final String blockName = "stained_glass_" + sGNames[i].replaceAll(" ", "").toLowerCase(); @@ -797,7 +831,7 @@ public enum Features { @Override void addBlocks() { - BlockLightstoneCarvable glowstone = (BlockLightstoneCarvable) new BlockLightstoneCarvable().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.3F).setLightLevel(1.0F) + BlockCarvableGlowstone glowstone = (BlockCarvableGlowstone) new BlockCarvableGlowstone().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.3F).setLightLevel(1.0F) .setStepSound(Block.soundTypeGlass); Carving.chisel.addVariation("glowstone", Blocks.glowstone, 0, 0); glowstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.lightstone.1.desc"), 1, "lightstone/terrain-sulphur-cobble"); @@ -1777,6 +1811,7 @@ public enum Features { RC_QUARRIED_BLOCK(RAILCRAFT.getRequiredMod(), RAILCRAFT) { + @Override void addBlocks() { Carving.chisel.addVariation("RCQuarriedBlock", GameRegistry.findBlock("Railcraft", "tile.railcraft.brick.quarried"), 0, 0); Carving.chisel.addVariation("RCQuarriedBlock", GameRegistry.findBlock("Railcraft", "tile.railcraft.brick.quarried"), 1, 1); @@ -1835,6 +1870,10 @@ public enum Features { void addBlocks() { BlockRoadLine road_line = (BlockRoadLine) new BlockRoadLine().setStepSound(Block.soundTypeStone).setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.01F) .setBlockName("roadLine"); + road_line.carverHelper.addVariation(StatCollector.translateToLocal("tile.roadLine.0.desc"), 0, "line-marking/white-center"); + road_line.carverHelper.addVariation(StatCollector.translateToLocal("tile.roadLine.1.desc"), 1, "line-marking/double-white-center"); + road_line.carverHelper.addVariation(StatCollector.translateToLocal("tile.roadLine.2.desc"), 2, "line-marking/yellow-center"); + road_line.carverHelper.addVariation(StatCollector.translateToLocal("tile.roadine.3.desc"), 3, "line-marking/double-yellow-center"); GameRegistry.registerBlock(road_line, ItemCarvable.class, "road_line"); Carving.chisel.registerOre("roadLine", "roadLine"); } @@ -2082,6 +2121,7 @@ public enum Features { TEMPLE_BLOCK_MOSSY { + @Override void addBlocks() { BlockCarvable mossy_templeblock = (BlockCarvable) new BlockEldritch().setHardness(2.0F).setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setResistance(10F) .setStepSound(Chisel.soundTempleFootstep); @@ -2229,6 +2269,7 @@ public enum Features { VOIDSTONE_PILLARS { + @Override void addBlocks() { BlockVoidstonePillar voidstonePillar = (BlockVoidstonePillar) new BlockVoidstonePillar().setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setStepSound(Block.soundTypeStone); voidstonePillar.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar-side"); @@ -2334,7 +2375,52 @@ public enum Features { boolean needsMetaRecipes() { return true; } - } + }, + + WARNING_SIGN { + @Override + void addBlocks() { + BlockCarvableLayered sign = (BlockCarvableLayered) new BlockCarvableLayered(Material.iron, "warning/base").setCreativeTab(ChiselTabs.tabMetalChiselBlocks).setHardness(2.0F).setResistance(10.0F); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.0.desc"), 0, "warning/rad"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.1.desc"), 1, "warning/bio"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.2.desc"), 2, "warning/fire"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.3.desc"), 3, "warning/explosion"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.4.desc"), 4, "warning/death"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.5.desc"), 5, "warning/falling"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.6.desc"), 6, "warning/fall"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.7.desc"), 7, "warning/voltage"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.8.desc"), 8, "warning/generic"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.9.desc"), 9, "warning/acid"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.10.desc"), 10, "warning/underconstruction"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.11.desc"), 11, "warning/sound"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.12.desc"), 12, "warning/noentry"); + sign.carverHelper.addVariation(StatCollector.translateToLocal("tile.warningSign.13.desc"), 13, "warning/cryogenic"); + sign.carverHelper.register(sign, "warningSign"); + Carving.chisel.registerOre("warningSign", "warningSign"); + } + @Override + void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ChiselBlocks.sign, 4, 0), new Object[]{"xxx", "xyx", "xxx", 'x', "stone", 'y', Items.sign})); + } + }, + + TORCH { + @Override + void addBlocks() { + Carving.chisel.addVariation("torch", Blocks.torch, 0, 0); + for(int type = 0; type < 10; type++){ + if(type == 8 || type == 9) + torch[type] = new BlockCarvableTorch().disableParticles(); + else + torch[type] = new BlockCarvableTorch(); + + torch[type].setInformation("torch" + (type + 1)); + GameRegistry.registerBlock(torch[type], "torch" + (type + 1)); + Carving.chisel.addVariation("torch", torch[type], 0, (type + 1)); + } + Carving.chisel.registerOre("torch", "torch"); + } + }, ; diff --git a/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java b/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java index 9476e720..88f3e92d 100644 --- a/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java +++ b/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java @@ -6,7 +6,6 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import com.cricketcraft.chisel.carving.Carving; import com.cricketcraft.chisel.item.chisel.ItemChisel; diff --git a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java index a2820b06..41d740e0 100644 --- a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java +++ b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java @@ -1,9 +1,5 @@ package com.cricketcraft.chisel.item.chisel; -import io.netty.buffer.ByteBuf; - -import java.util.Arrays; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -15,17 +11,14 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent; import org.apache.commons.lang3.ArrayUtils; import com.cricketcraft.chisel.Chisel; -import com.cricketcraft.chisel.PacketHandler; import com.cricketcraft.chisel.api.IChiselItem; import com.cricketcraft.chisel.carving.Carving; import com.cricketcraft.chisel.carving.CarvingVariation; -import com.cricketcraft.chisel.client.GeneralChiselClient; +import com.cricketcraft.chisel.network.PacketHandler; +import com.cricketcraft.chisel.network.message.MessageChiselSound; import com.cricketcraft.chisel.utils.General; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; public final class ChiselController { @@ -95,56 +88,9 @@ public final class ChiselController { * Assumes that the player is holding a chisel */ private void setVariation(EntityPlayer player, World world, int x, int y, int z, CarvingVariation v, ItemStack target) { - PacketHandler.INSTANCE.sendTo(new PacketPlaySound(x, y, z, v), (EntityPlayerMP) player); + PacketHandler.INSTANCE.sendTo(new MessageChiselSound(x, y, z, v), (EntityPlayerMP) player); world.setBlock(x, y, z, v.block); world.setBlockMetadataWithNotify(x, y, z, v.meta, 3); ((IChiselItem) player.getCurrentEquippedItem().getItem()).onChisel(world, player.inventory, player.inventory.currentItem, player.getCurrentEquippedItem(), target); } - - public static class PacketPlaySound implements IMessage { - - public PacketPlaySound() { - } - - private int x, y, z; - private int block; - private byte meta; - - public PacketPlaySound(int x, int y, int z, CarvingVariation v) { - this.x = x; - this.y = y; - this.z = z; - this.block = Block.getIdFromBlock(v.block); - this.meta = (byte) v.meta; - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(block); - buf.writeByte(meta); - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - block = buf.readInt(); - meta = buf.readByte(); - } - } - - public static class PlaySoundHandler implements IMessageHandler { - - @Override - public IMessage onMessage(PacketPlaySound message, MessageContext ctx) { - String sound = ItemChisel.carving.getVariationSound(Block.getBlockById(message.block), message.meta); - GeneralChiselClient.spawnChiselEffect(message.x, message.y, message.z, sound); - return null; - } - } - } diff --git a/src/main/java/com/cricketcraft/chisel/network/PacketHandler.java b/src/main/java/com/cricketcraft/chisel/network/PacketHandler.java new file mode 100644 index 00000000..ffbb42de --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/network/PacketHandler.java @@ -0,0 +1,22 @@ +package com.cricketcraft.chisel.network; + +import com.cricketcraft.chisel.Chisel; +import com.cricketcraft.chisel.network.message.MessageAutoChisel; +import com.cricketcraft.chisel.network.message.MessageChiselSound; +import com.cricketcraft.chisel.network.message.MessageSlotUpdate; + +import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import cpw.mods.fml.relauncher.Side; + +public class PacketHandler { + + public static final SimpleNetworkWrapper INSTANCE = new SimpleNetworkWrapper(Chisel.MOD_ID); + + public static void init() { + int id = 0; + + INSTANCE.registerMessage(MessageChiselSound.Handler.class, MessageChiselSound.class, id++, Side.CLIENT); + INSTANCE.registerMessage(MessageSlotUpdate.Handler.class, MessageSlotUpdate.class, id++, Side.CLIENT); + INSTANCE.registerMessage(MessageAutoChisel.Handler.class, MessageAutoChisel.class, id++, Side.CLIENT); + } +} \ No newline at end of file diff --git a/src/main/java/com/cricketcraft/chisel/network/message/MessageAutoChisel.java b/src/main/java/com/cricketcraft/chisel/network/message/MessageAutoChisel.java new file mode 100644 index 00000000..d667e84d --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/network/message/MessageAutoChisel.java @@ -0,0 +1,33 @@ +package com.cricketcraft.chisel.network.message; + +import net.minecraft.tileentity.TileEntity; + +import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; +import com.cricketcraft.chisel.network.message.base.MessageCoords; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; + +public class MessageAutoChisel extends MessageCoords { + + public MessageAutoChisel() { + } + + public MessageAutoChisel(TileEntityAutoChisel tile) { + super(tile); + } + + public static class Handler implements IMessageHandler { + + public IMessage onMessage(MessageAutoChisel message, MessageContext ctx) { + + TileEntity te = message.getTileEntity(ctx); + if (te instanceof TileEntityAutoChisel) { + ((TileEntityAutoChisel) te).doChiselAnim(); + } + return null; + } + } + +} diff --git a/src/main/java/com/cricketcraft/chisel/network/message/MessageChiselSound.java b/src/main/java/com/cricketcraft/chisel/network/message/MessageChiselSound.java new file mode 100644 index 00000000..5df9a879 --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/network/message/MessageChiselSound.java @@ -0,0 +1,53 @@ +package com.cricketcraft.chisel.network.message; + +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; + +import com.cricketcraft.chisel.carving.CarvingVariation; +import com.cricketcraft.chisel.client.GeneralChiselClient; +import com.cricketcraft.chisel.item.chisel.ItemChisel; +import com.cricketcraft.chisel.network.message.base.MessageCoords; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; + +public class MessageChiselSound extends MessageCoords { + + public MessageChiselSound() { + super(); + } + + private int block; + private byte meta; + + public MessageChiselSound(int x, int y, int z, CarvingVariation v) { + super(x, y, z); + this.block = Block.getIdFromBlock(v.block); + this.meta = (byte) v.meta; + } + + @Override + public void toBytes(ByteBuf buf) { + super.toBytes(buf); + buf.writeInt(block); + buf.writeByte(meta); + } + + @Override + public void fromBytes(ByteBuf buf) { + super.fromBytes(buf); + block = buf.readInt(); + meta = buf.readByte(); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(MessageChiselSound message, MessageContext ctx) { + String sound = ItemChisel.carving.getVariationSound(Block.getBlockById(message.block), message.meta); + GeneralChiselClient.spawnChiselEffect(message.x, message.y, message.z, sound); + return null; + } + } +} diff --git a/src/main/java/com/cricketcraft/chisel/network/message/MessageSlotUpdate.java b/src/main/java/com/cricketcraft/chisel/network/message/MessageSlotUpdate.java new file mode 100644 index 00000000..47a74d85 --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/network/message/MessageSlotUpdate.java @@ -0,0 +1,56 @@ +package com.cricketcraft.chisel.network.message; + +import io.netty.buffer.ByteBuf; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +import com.cricketcraft.chisel.Chisel; +import com.cricketcraft.chisel.network.message.base.MessageCoords; + +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; + +public class MessageSlotUpdate extends MessageCoords { + + public MessageSlotUpdate() { + } + + private int slot; + private ItemStack stack; + + public MessageSlotUpdate(TileEntity te, int slot, ItemStack stack) { + super(te); + this.slot = slot; + this.stack = stack; + } + + @Override + public void toBytes(ByteBuf buf) { + super.toBytes(buf); + buf.writeInt(slot); + ByteBufUtils.writeItemStack(buf, stack); + } + + @Override + public void fromBytes(ByteBuf buf) { + super.fromBytes(buf); + this.slot = buf.readInt(); + this.stack = ByteBufUtils.readItemStack(buf); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(MessageSlotUpdate message, MessageContext ctx) { + TileEntity te = Chisel.proxy.getClientWorld().getTileEntity(message.x, message.y, message.z); + if (te != null && te instanceof IInventory) { + ((IInventory) te).setInventorySlotContents(message.slot, message.stack); + } + return null; + } + } + +} diff --git a/src/main/java/com/cricketcraft/chisel/network/message/base/MessageCoords.java b/src/main/java/com/cricketcraft/chisel/network/message/base/MessageCoords.java new file mode 100644 index 00000000..0bf50c3f --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/network/message/base/MessageCoords.java @@ -0,0 +1,61 @@ +package com.cricketcraft.chisel.network.message.base; + +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import com.cricketcraft.chisel.Chisel; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; + +public abstract class MessageCoords implements IMessage { + + public int x, y, z; + + protected MessageCoords() { + ; + } + + protected MessageCoords(int x, int y, int z) { + this.x = x; + this.y = y; + this.z = z; + } + + protected MessageCoords(TileEntity te) { + this(te.xCoord, te.yCoord, te.zCoord); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + } + + @Override + public void fromBytes(ByteBuf buf) { + this.x = buf.readInt(); + this.y = buf.readInt(); + this.z = buf.readInt(); + } + + protected Block getBlock(MessageContext ctx) { + return getWorld(ctx).getBlock(x, y, z); + } + + protected TileEntity getTileEntity(MessageContext ctx) { + return getWorld(ctx).getTileEntity(x, y, z); + } + + protected World getWorld(MessageContext ctx) { + if (ctx.side == Side.CLIENT) { + return Chisel.proxy.getClientWorld(); + } else { + return ctx.getServerHandler().playerEntity.worldObj; + } + } +} diff --git a/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java b/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java index 31cf5aa2..d634fd6d 100644 --- a/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java +++ b/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java @@ -1,15 +1,8 @@ package com.cricketcraft.chisel.proxy; -import com.cricketcraft.chisel.client.render.*; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.entity.RenderSnowball; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.world.World; -import net.minecraftforge.client.MinecraftForgeClient; - import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; import com.cricketcraft.chisel.block.tileentity.TileEntityPresent; +import com.cricketcraft.chisel.client.render.*; import com.cricketcraft.chisel.client.render.item.ItemChiselRenderer; import com.cricketcraft.chisel.client.render.item.ItemPresentRenderer; import com.cricketcraft.chisel.client.render.tile.RenderAutoChisel; @@ -19,9 +12,14 @@ import com.cricketcraft.chisel.entity.EntityCloudInABottle; import com.cricketcraft.chisel.entity.EntitySmashingRock; import com.cricketcraft.chisel.init.ChiselBlocks; import com.cricketcraft.chisel.init.ChiselItems; - import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.RenderSnowball; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.world.World; +import net.minecraftforge.client.MinecraftForgeClient; public class ClientProxy extends CommonProxy { @@ -44,6 +42,7 @@ public class ClientProxy extends CommonProxy { RenderingRegistry.registerBlockHandler(new BlockCarpetRenderer()); RenderingRegistry.registerBlockHandler(new BlockGlowRenderer()); RenderingRegistry.registerBlockHandler(new BlockCTMNoLightRenderer()); + RenderingRegistry.registerBlockHandler(new BlockLayeredRenderer()); RenderingRegistry.registerBlockHandler(new BlockTexturedOreRenderer()); diff --git a/src/main/java/com/cricketcraft/chisel/utils/GeneralClient.java b/src/main/java/com/cricketcraft/chisel/utils/GeneralClient.java index ab99288e..1243d993 100644 --- a/src/main/java/com/cricketcraft/chisel/utils/GeneralClient.java +++ b/src/main/java/com/cricketcraft/chisel/utils/GeneralClient.java @@ -3,14 +3,14 @@ package com.cricketcraft.chisel.utils; import java.util.HashMap; import java.util.Random; -import org.lwjgl.opengl.GL11; - import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import org.lwjgl.opengl.GL11; + public class GeneralClient { public static Random rand = new Random(); diff --git a/src/main/resources/assets/chisel/lang/en_US.lang b/src/main/resources/assets/chisel/lang/en_US.lang index 1811372f..54e6e4ba 100644 --- a/src/main/resources/assets/chisel/lang/en_US.lang +++ b/src/main/resources/assets/chisel/lang/en_US.lang @@ -92,6 +92,23 @@ tile.voidstone.7.desc=Beveled Voidstone tile.voidstonePillar.name=Voidstone Pillar tile.voidstonePillar.0.desc=Striped Voidstone Pillar +-#Warning +tile.warningSign.name=Warning Sign +tile.warningSign.0.desc=Radiation +tile.warningSign.1.desc=Biohazard +tile.warningSign.2.desc=Fire +tile.warningSign.3.desc=Explosion +tile.warningSign.4.desc=Death +tile.warningSign.5.desc=Falling Objects +tile.warningSign.6.desc=Danger of Falling +tile.warningSign.7.desc=High Voltage +tile.warningSign.8.desc=Generic Warning +tile.warningSign.9.desc=Dangerous Chemicals +tile.warningSign.10.desc=Under Construction +tile.warningSign.11.desc=Loud Sounds +tile.warningSign.12.desc=No Entry +tile.warningSign.13.desc=Cryogenic Freezing in progress + #Energised Void Stone Blocks tile.voidstone2.name=Energised Voidstone tile.voidstone2.0.desc=Raw Energised Voidstone @@ -119,11 +136,29 @@ tile.arcane.6.desc=Temporal Conduit tile.arcane.7.desc=Braaainz tile.arcane.8.desc=Spatial Conduit +#Thaumium +tile.thaumium.name=Thaumium Block +tile.thaumium.0.desc=Beveled Thaumium Block +tile.thaumium.1.desc=Small Thaumium Blocks +tile.thaumium.2.desc=Engraved Symbols +tile.thaumium.3.desc=Red Symbols + +#Blood Rune +tile.bloodrune.name=Blood Rune +tile.bloodrune.0.desc=Arranged Blood Rune +tile.bloodrune.1.desc=Blood Rune Bricks +tile.bloodrune.2.desc=Carved Blood Rune +tile.bloodrune.3.desc=Radial Carved Blood Rune +tile.bloodrune.4.desc=Classic Panel Blood Rune +tile.bloodrune.5.desc=Blood Rune Tiles + + #Futura tile.futura.name=Futura Block tile.futura.0.desc=Glowing Screen with Metallic Borders tile.futura.1.desc=Glowing Screen with Cyan Borders tile.futura.2.desc=Applied Labyrinthic Neon Lines +tile.futura.3.desc=Poptart Rainbow #Waterstone tile.waterstone.name=Waterstone @@ -532,6 +567,10 @@ tile.concrete.10.desc=Asphalt #Road Line tile.roadLine.name=Road Lines +tile.roadLine.0.desc=White +tile.roadLine.1.desc=Double White +tile.roadLine.2.desc=Yellow +tile.roadLine.3.desc=Double Yellow #Iron Blocks tile.iron_block.name=Iron Block diff --git a/src/main/resources/assets/chisel/textures/blocks/amber/amberblock.png b/src/main/resources/assets/chisel/textures/blocks/amber/amberblock.png new file mode 100755 index 00000000..2754f635 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/amber/amberblock.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/amber/amberblock_top.png b/src/main/resources/assets/chisel/textures/blocks/amber/amberblock_top.png new file mode 100755 index 00000000..ca42fbd7 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/amber/amberblock_top.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Base/controller.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/controller.png new file mode 100644 index 00000000..53703690 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Base/controller.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyan-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan-ctm.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyan-ctm.png rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan-ctm.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyan-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan-ctm.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyan-ctm.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan-ctm.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyan.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyan.png rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenCyan.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic-ctm.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic-ctm.png rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic-ctm.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic-ctm.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic-ctm.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic-ctm.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallic.png rename to src/main/resources/assets/chisel/textures/blocks/futura/Base/screenMetallic.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png b/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png new file mode 100644 index 00000000..221ab635 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png.mcmeta new file mode 100644 index 00000000..f0139e77 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/Base/wavy.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller-ctm3.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller-ctm3.png new file mode 100644 index 00000000..3e6c531c Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller-ctm3.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller.png new file mode 100644 index 00000000..53703690 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controller.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm1.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm1.png new file mode 100644 index 00000000..efc61d9e Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm1.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm2.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm2.png new file mode 100644 index 00000000..eea7db63 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/controllerGlow-ctm2.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenOverlay-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan-ctm.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenOverlay-ctm.png rename to src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan-ctm.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan-ctm.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP-ctm.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan-ctm.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan.png new file mode 100644 index 00000000..86e8064b Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyan.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyanOverlay-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyanOverlay-ctm.png new file mode 100644 index 00000000..335776ed Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenCyanOverlay-ctm.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic-ctm.png new file mode 100644 index 00000000..335776ed Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic-ctm.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic-ctm.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP-ctm.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic-ctm.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic.png new file mode 100644 index 00000000..86e8064b Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallic.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallicOverlay-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallicOverlay-ctm.png new file mode 100644 index 00000000..335776ed Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/screenMetallicOverlay-ctm.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png new file mode 100644 index 00000000..ae33f0f5 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png.mcmeta new file mode 100644 index 00000000..f0139e77 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavy.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavyOverlay.png b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavyOverlay.png new file mode 100644 index 00000000..ae33f0f5 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/Overlay/wavyOverlay.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png new file mode 100644 index 00000000..c7625808 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png.mcmeta new file mode 100644 index 00000000..68df5399 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png new file mode 100644 index 00000000..5128d610 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png.mcmeta new file mode 100644 index 00000000..68df5399 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png new file mode 100644 index 00000000..b9c0954d Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png.mcmeta new file mode 100644 index 00000000..68df5399 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP-ctm3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP.png rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/controllerWIP.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP-ctm.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP-ctm.png rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP-ctm.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenOverlay-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP-ctm.png.mcmeta similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenOverlay-ctm.png.mcmeta rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP-ctm.png.mcmeta diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenCyanWIP.png rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenCyanWIP.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP-ctm.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP-ctm.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP-ctm.png rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP-ctm.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP-ctm.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP-ctm.png.mcmeta new file mode 100644 index 00000000..c82b1666 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP-ctm.png.mcmeta @@ -0,0 +1,23 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP.png similarity index 100% rename from src/main/resources/assets/chisel/textures/blocks/futura/screenMetallicWIP.png rename to src/main/resources/assets/chisel/textures/blocks/futura/WIP/screenMetallicWIP.png diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png new file mode 100644 index 00000000..15397ef0 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png.mcmeta new file mode 100644 index 00000000..f0139e77 --- /dev/null +++ b/src/main/resources/assets/chisel/textures/blocks/futura/WIP/wavyWIP.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png deleted file mode 100644 index b86b90b2..00000000 Binary files a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png and /dev/null differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png.mcmeta deleted file mode 100644 index 0805fb46..00000000 --- a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm1.png.mcmeta +++ /dev/null @@ -1,16 +0,0 @@ -{ - "animation": { - "frametime": 5, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png deleted file mode 100644 index 937abb3e..00000000 Binary files a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png and /dev/null differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png.mcmeta deleted file mode 100644 index 0805fb46..00000000 --- a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm2.png.mcmeta +++ /dev/null @@ -1,16 +0,0 @@ -{ - "animation": { - "frametime": 5, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png deleted file mode 100644 index 00c3171b..00000000 Binary files a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png and /dev/null differ diff --git a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png.mcmeta deleted file mode 100644 index 0805fb46..00000000 --- a/src/main/resources/assets/chisel/textures/blocks/futura/controllerWIP-ctm3.png.mcmeta +++ /dev/null @@ -1,16 +0,0 @@ -{ - "animation": { - "frametime": 5, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/chisel/textures/blocks/hexPlating/hexAnim.png.mcmeta b/src/main/resources/assets/chisel/textures/blocks/hexPlating/hexAnim.png.mcmeta index 3a21c060..6637c41e 100644 --- a/src/main/resources/assets/chisel/textures/blocks/hexPlating/hexAnim.png.mcmeta +++ b/src/main/resources/assets/chisel/textures/blocks/hexPlating/hexAnim.png.mcmeta @@ -1,16 +1,5 @@ { "animation": { - "frametime": 2, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - ] + "frametime": 2 } } diff --git a/src/main/resources/assets/chisel/textures/blocks/line-marking/double-yellow-center.png b/src/main/resources/assets/chisel/textures/blocks/line-marking/double-yellow-center.png index f4249e53..3cf03cde 100644 Binary files a/src/main/resources/assets/chisel/textures/blocks/line-marking/double-yellow-center.png and b/src/main/resources/assets/chisel/textures/blocks/line-marking/double-yellow-center.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock.png b/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock.png new file mode 100755 index 00000000..682b3fe2 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock_top.png b/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock_top.png new file mode 100755 index 00000000..1352971d Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/tallow/tallowblock_top.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/thaumium/bevel.png b/src/main/resources/assets/chisel/textures/blocks/thaumium/bevel.png new file mode 100755 index 00000000..ee3fd20c Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/thaumium/bevel.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/thaumium/chunks.png b/src/main/resources/assets/chisel/textures/blocks/thaumium/chunks.png new file mode 100755 index 00000000..dfc3037f Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/thaumium/chunks.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/thaumium/purplerunes-v9.png b/src/main/resources/assets/chisel/textures/blocks/thaumium/purplerunes-v9.png new file mode 100644 index 00000000..f0f137b7 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/thaumium/purplerunes-v9.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/thaumium/runes-v9.png b/src/main/resources/assets/chisel/textures/blocks/thaumium/runes-v9.png new file mode 100644 index 00000000..52e213c8 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/thaumium/runes-v9.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/thaumium/thaumiumblock.png b/src/main/resources/assets/chisel/textures/blocks/thaumium/thaumiumblock.png new file mode 100755 index 00000000..faf25fb9 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/thaumium/thaumiumblock.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch1.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch1.png new file mode 100755 index 00000000..fe5c5e6f Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch1.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch10.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch10.png new file mode 100755 index 00000000..beeaabb9 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch10.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch2.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch2.png new file mode 100755 index 00000000..94357515 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch2.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch3.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch3.png new file mode 100755 index 00000000..9e573f60 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch3.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch4.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch4.png new file mode 100755 index 00000000..fd771961 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch4.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch5.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch5.png new file mode 100755 index 00000000..0bd566c0 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch5.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch6.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch6.png new file mode 100755 index 00000000..5eb4208c Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch6.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch7.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch7.png new file mode 100755 index 00000000..36872435 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch7.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch8.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch8.png new file mode 100755 index 00000000..5563fee3 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch8.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/torch/torch9.png b/src/main/resources/assets/chisel/textures/blocks/torch/torch9.png new file mode 100755 index 00000000..3d027b13 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/torch/torch9.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/acid.png b/src/main/resources/assets/chisel/textures/blocks/warning/acid.png new file mode 100755 index 00000000..3874bf8b Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/acid.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/base.png b/src/main/resources/assets/chisel/textures/blocks/warning/base.png new file mode 100755 index 00000000..4fd87254 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/base.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/bio.png b/src/main/resources/assets/chisel/textures/blocks/warning/bio.png new file mode 100755 index 00000000..380449c2 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/bio.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/cryogenic.png b/src/main/resources/assets/chisel/textures/blocks/warning/cryogenic.png new file mode 100755 index 00000000..392e8284 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/cryogenic.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/death.png b/src/main/resources/assets/chisel/textures/blocks/warning/death.png new file mode 100755 index 00000000..2cc5b94a Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/death.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/explosion.png b/src/main/resources/assets/chisel/textures/blocks/warning/explosion.png new file mode 100755 index 00000000..fa8b774f Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/explosion.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/fall.png b/src/main/resources/assets/chisel/textures/blocks/warning/fall.png new file mode 100755 index 00000000..90997a8b Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/fall.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/falling.png b/src/main/resources/assets/chisel/textures/blocks/warning/falling.png new file mode 100755 index 00000000..c45b44ab Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/falling.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/fire.png b/src/main/resources/assets/chisel/textures/blocks/warning/fire.png new file mode 100755 index 00000000..d81f8d13 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/fire.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/generic.png b/src/main/resources/assets/chisel/textures/blocks/warning/generic.png new file mode 100755 index 00000000..26dd4108 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/generic.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/illuminati.png b/src/main/resources/assets/chisel/textures/blocks/warning/illuminati.png new file mode 100755 index 00000000..9a5f8540 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/illuminati.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/noentry.png b/src/main/resources/assets/chisel/textures/blocks/warning/noentry.png new file mode 100755 index 00000000..5cea8961 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/noentry.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/rad.png b/src/main/resources/assets/chisel/textures/blocks/warning/rad.png new file mode 100755 index 00000000..53ccbab0 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/rad.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/sound.png b/src/main/resources/assets/chisel/textures/blocks/warning/sound.png new file mode 100755 index 00000000..64cb240f Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/sound.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/underconstruction.png b/src/main/resources/assets/chisel/textures/blocks/warning/underconstruction.png new file mode 100755 index 00000000..811eebad Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/underconstruction.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/warning/voltage.png b/src/main/resources/assets/chisel/textures/blocks/warning/voltage.png new file mode 100755 index 00000000..14d95896 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/warning/voltage.png differ diff --git a/src/main/resources/assets/chisel/textures/chisel2Gui.png b/src/main/resources/assets/chisel/textures/chisel2Gui.png new file mode 100644 index 00000000..0d86d5a6 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/chisel2Gui.png differ diff --git a/src/main/resources/assets/chisel/textures/chiselGUIRevamp.png b/src/main/resources/assets/chisel/textures/chisel2GuiScroll.png similarity index 100% rename from src/main/resources/assets/chisel/textures/chiselGUIRevamp.png rename to src/main/resources/assets/chisel/textures/chisel2GuiScroll.png