Voidstone fixed, and now configurable because some people like the animated texture
No files matched your search
@@ -18,6 +18,7 @@ public class Configurations
|
||||
public static boolean autoChisel;
|
||||
public static boolean fancy;
|
||||
public static boolean enableFMP;
|
||||
public static boolean animatedVoidstone;
|
||||
|
||||
public static int factoryBlockAmount;
|
||||
public static int particlesTickrate;
|
||||
@@ -44,6 +45,7 @@ public class Configurations
|
||||
chiselRecipe = config.get("general", "chiselAlternateRecipe", false, "Use alternative crafting recipe for the chisel").getBoolean(false);
|
||||
autoChisel = config.get("general", "autoChisel", true, "Should people be allowed to use the auto chisel").getBoolean(true);
|
||||
enableFMP = config.get("general", "enableFMP", true, "Do you want to enable FMP").getBoolean(true);
|
||||
animatedVoidstone = config.get("client", "animatedVoidstone", true, "True, you want animated textures. False, nah i'm good.").getBoolean(true);
|
||||
|
||||
if(config.hasChanged())
|
||||
{
|
||||
|
||||
@@ -1,45 +1,12 @@
|
||||
package info.jbcs.minecraft.chisel.block;
|
||||
|
||||
import info.jbcs.minecraft.chisel.Chisel;
|
||||
import info.jbcs.minecraft.chisel.api.ICarvable;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableHelper;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableVariation;
|
||||
import info.jbcs.minecraft.chisel.client.GeneralChiselClient;
|
||||
import info.jbcs.minecraft.chisel.utils.General;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockVoidstone extends Block implements ICarvable{
|
||||
public CarvableHelper carverHelper;
|
||||
public IIcon iconParticle;
|
||||
public class BlockVoidstone extends BlockMarbleTexturedOre {
|
||||
|
||||
public BlockVoidstone() {
|
||||
super(Material.rock);
|
||||
carverHelper = new CarvableHelper();
|
||||
public BlockVoidstone(String s) {
|
||||
super(Material.rock, s);
|
||||
setHardness(5.0F);
|
||||
setResistance(10.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister icon){
|
||||
iconParticle = icon.registerIcon(Chisel.MOD_ID + ":voidstone/particles/star");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void randomDisplayTick(World world, int x, int y, int z, Random random)
|
||||
{
|
||||
if(General.rand.nextInt(4) == 0 && world.isRemote)
|
||||
GeneralChiselClient.spawnVoidstoneFX(world, this, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CarvableVariation getVariation(int metadata) {
|
||||
return carverHelper.getVariation(metadata);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package info.jbcs.minecraft.chisel.block;
|
||||
|
||||
import info.jbcs.minecraft.chisel.Chisel;
|
||||
import info.jbcs.minecraft.chisel.api.ICarvable;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableHelper;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableVariation;
|
||||
@@ -13,13 +14,15 @@ public class BlockVoidstonePillar extends Block implements ICarvable{
|
||||
|
||||
public static IIcon topBottom, pillarSide;
|
||||
public CarvableHelper carvableHelper;
|
||||
private boolean isAnimated;
|
||||
|
||||
public BlockVoidstonePillar() {
|
||||
public BlockVoidstonePillar(boolean isAnimated) {
|
||||
super(Material.rock);
|
||||
carvableHelper = new CarvableHelper();
|
||||
setHardness(5.0F);
|
||||
setResistance(10.0F);
|
||||
setCreativeTab(ModTabs.tabChiselBlocks);
|
||||
this.isAnimated = isAnimated;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -34,8 +37,12 @@ public class BlockVoidstonePillar extends Block implements ICarvable{
|
||||
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister icon){
|
||||
topBottom = icon.registerIcon("Chisel:voidstone/pillar-top");
|
||||
pillarSide = icon.registerIcon("Chisel:voidstone/pillar-side");
|
||||
if(this.isAnimated)
|
||||
topBottom = icon.registerIcon(Chisel.MOD_ID + ":voidstone/animated/pillar-top");
|
||||
else
|
||||
topBottom = icon.registerIcon(Chisel.MOD_ID + ":voidstone/pillar-top");
|
||||
|
||||
pillarSide = icon.registerIcon(Chisel.MOD_ID + ":voidstone/pillar-side");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,16 +5,11 @@ import info.jbcs.minecraft.chisel.block.BlockGrimstone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockHolystone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockLavastone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockSnakestoneObsidian;
|
||||
import info.jbcs.minecraft.chisel.block.BlockVoidstone;
|
||||
import info.jbcs.minecraft.chisel.entity.fx.EntityBallOMossFX;
|
||||
import info.jbcs.minecraft.chisel.entity.fx.EntityGrimstoneFX;
|
||||
import info.jbcs.minecraft.chisel.entity.fx.EntityHolystoneFX;
|
||||
import info.jbcs.minecraft.chisel.entity.fx.EntitySnakestoneObsidianFX;
|
||||
import info.jbcs.minecraft.chisel.entity.fx.EntityVoidstoneFX;
|
||||
import info.jbcs.minecraft.chisel.utils.GeneralClient;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
@@ -24,6 +19,8 @@ import net.minecraft.client.particle.EntityLavaFX;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
|
||||
public class GeneralChiselClient {
|
||||
public static Random rand = new Random();
|
||||
@@ -164,47 +161,6 @@ public class GeneralChiselClient {
|
||||
}
|
||||
}
|
||||
|
||||
public static void spawnVoidstoneFX(World world, BlockVoidstone block, int x, int y, int z) {
|
||||
if (Configurations.particlesTickrate == 0 || tick++ % Configurations.particlesTickrate == 0) {
|
||||
float f = 0.15F;
|
||||
double x1 = x + rand.nextDouble() * (block.getBlockBoundsMaxX() - block.getBlockBoundsMinX() - f * 2.0F) + f + block.getBlockBoundsMinX();
|
||||
double y1 = y + rand.nextDouble() * (block.getBlockBoundsMaxY() - block.getBlockBoundsMinY() - f * 2.0F) + f + block.getBlockBoundsMinY();
|
||||
double z1 = z + rand.nextDouble() * (block.getBlockBoundsMaxZ() - block.getBlockBoundsMinZ() - f * 2.0F) + f + block.getBlockBoundsMinZ();
|
||||
|
||||
switch (rand.nextInt(6)) {
|
||||
case 0:
|
||||
y1 = y + block.getBlockBoundsMinY() - f;
|
||||
y--;
|
||||
break;
|
||||
case 1:
|
||||
y1 = y + block.getBlockBoundsMaxY() + f;
|
||||
y++;
|
||||
break;
|
||||
case 2:
|
||||
z1 = z + block.getBlockBoundsMinZ() - f;
|
||||
z--;
|
||||
break;
|
||||
case 3:
|
||||
z1 = z + block.getBlockBoundsMaxZ() + f;
|
||||
z++;
|
||||
break;
|
||||
case 4:
|
||||
x1 = x + block.getBlockBoundsMinX() - f;
|
||||
x--;
|
||||
break;
|
||||
case 5:
|
||||
x1 = x + block.getBlockBoundsMaxX() + f;
|
||||
x++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (world.getBlock(x, y, z).isOpaqueCube()) return;
|
||||
|
||||
EntityVoidstoneFX res = new EntityVoidstoneFX(world, block, x, y, z);
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(res);
|
||||
}
|
||||
}
|
||||
|
||||
public static void spawnBallOMossFX(World world, double x, double y, double z) {
|
||||
if (Configurations.particlesTickrate == 0 || tick++ % Configurations.particlesTickrate == 0) {
|
||||
EntityBallOMossFX res = new EntityBallOMossFX(world, x, y, z);
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
package info.jbcs.minecraft.chisel.entity.fx;
|
||||
|
||||
import info.jbcs.minecraft.chisel.block.BlockVoidstone;
|
||||
import info.jbcs.minecraft.chisel.utils.General;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityVoidstoneFX extends EntityFX {
|
||||
|
||||
static final float fadetime = 20F;
|
||||
float initialScale;
|
||||
float angleOffset;
|
||||
|
||||
public EntityVoidstoneFX(World world, BlockVoidstone blockVoidstone, double x, double y, double z) {
|
||||
super(world, x, y, z, 0, 0, 0);
|
||||
initialScale = 1.0F + 1.0F * General.rand.nextFloat();
|
||||
angleOffset = rand.nextFloat() * 360;
|
||||
|
||||
particleMaxAge = (int) (Math.random() * 10.0D) + 80;
|
||||
|
||||
setPosition(x, y, z);
|
||||
prevPosX = posX;
|
||||
prevPosY = posY;
|
||||
prevPosZ = posZ;
|
||||
|
||||
noClip = true;
|
||||
|
||||
setParticleIcon(blockVoidstone.iconParticle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFXLayer() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderParticle(Tessellator tesselator, float partialTick, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
particleScale = 0.25F + initialScale * (float) Math.sin(particleAge + angleOffset) / 180.0F;
|
||||
|
||||
if (particleAge < fadetime) {
|
||||
particleAlpha = particleAge / fadetime;
|
||||
} else if (particleAge + fadetime >= particleMaxAge) {
|
||||
particleAlpha = (particleMaxAge - particleAge) / fadetime;
|
||||
} else {
|
||||
particleAlpha = 1.0F;
|
||||
}
|
||||
|
||||
super.renderParticle(tesselator, partialTick, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
if (particleAge++ >= particleMaxAge) {
|
||||
setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,40 +1,9 @@
|
||||
package info.jbcs.minecraft.chisel.init;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import info.jbcs.minecraft.chisel.Chisel;
|
||||
import info.jbcs.minecraft.chisel.Configurations;
|
||||
import info.jbcs.minecraft.chisel.block.BlockAutoChisel;
|
||||
import info.jbcs.minecraft.chisel.block.BlockBeaconBase;
|
||||
import info.jbcs.minecraft.chisel.block.BlockCarvable;
|
||||
import info.jbcs.minecraft.chisel.block.BlockCarvableGlass;
|
||||
import info.jbcs.minecraft.chisel.block.BlockCarvablePane;
|
||||
import info.jbcs.minecraft.chisel.block.BlockCarvablePowered;
|
||||
import info.jbcs.minecraft.chisel.block.BlockCloud;
|
||||
import info.jbcs.minecraft.chisel.block.BlockConcrete;
|
||||
import info.jbcs.minecraft.chisel.block.BlockEldritch;
|
||||
import info.jbcs.minecraft.chisel.block.BlockGrimstone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockHolystone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockLavastone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockLeaf;
|
||||
import info.jbcs.minecraft.chisel.block.BlockLightstoneCarvable;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleBookshelf;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleCarpet;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleIce;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleIceStairs;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarblePillar;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleSlab;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleStairs;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleStairsMaker;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleStairsMakerCreator;
|
||||
import info.jbcs.minecraft.chisel.block.BlockMarbleWall;
|
||||
import info.jbcs.minecraft.chisel.block.BlockPresent;
|
||||
import info.jbcs.minecraft.chisel.block.BlockRoadLine;
|
||||
import info.jbcs.minecraft.chisel.block.BlockSnakestone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockSnakestoneObsidian;
|
||||
import info.jbcs.minecraft.chisel.block.BlockSpikes;
|
||||
import info.jbcs.minecraft.chisel.block.BlockVoidstone;
|
||||
import info.jbcs.minecraft.chisel.block.BlockVoidstonePillar;
|
||||
import info.jbcs.minecraft.chisel.block.BlockWaterstone;
|
||||
import info.jbcs.minecraft.chisel.block.ItemBlockAutoChisel;
|
||||
import info.jbcs.minecraft.chisel.block.*;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableHelper;
|
||||
import info.jbcs.minecraft.chisel.carving.CarvableVariation;
|
||||
import info.jbcs.minecraft.chisel.carving.Carving;
|
||||
@@ -46,7 +15,6 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
||||
public class ModBlocks {
|
||||
public static BlockCarvable marble;
|
||||
@@ -104,7 +72,7 @@ public class ModBlocks {
|
||||
public static BlockCarvable pumpkin;
|
||||
public static BlockCarvable jackOLantern;
|
||||
public static BlockVoidstone voidstone;
|
||||
public static BlockVoidstonePillar voidstonePillar = new BlockVoidstonePillar();
|
||||
public static BlockVoidstonePillar voidstonePillar;
|
||||
public static Block autoChisel;
|
||||
public static BlockPresent present;
|
||||
public static BlockSnakestone snakestone;
|
||||
@@ -1352,22 +1320,37 @@ public class ModBlocks {
|
||||
}
|
||||
|
||||
if(Configurations.featureEnabled("voidstone")){
|
||||
voidstone = (BlockVoidstone) new BlockVoidstone().setStepSound(Block.soundTypeStone).setCreativeTab(ModTabs.tabChiselBlocks);
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.0.desc"), 0, "voidstone/metalborder");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.1.desc"), 1, "voidstone/quarters");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.2.desc"), 2, "voidstone/smooth");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.3.desc"), 3, "voidstone/skulls");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.12.desc"), 12, "voidstone/rune");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.13.desc"), 13, "voidstone/raw");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.14.desc"), 14, "voidstone/eye");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.15.desc"), 15, "voidstone/bevel");
|
||||
if(Configurations.animatedVoidstone){
|
||||
voidstone = (BlockVoidstone) new BlockVoidstone(Chisel.MOD_ID + ":voidstone/animated/void").setStepSound(Block.soundTypeStone).setCreativeTab(ModTabs.tabChiselBlocks);
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.0.desc"), 0, "voidstone/animated/metalborder");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.1.desc"), 1, "voidstone/animated/quarters");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.2.desc"), 2, "voidstone/animated/smooth");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.12.desc"), 12, "voidstone/animated/rune");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.13.desc"), 13, "voidstone/animated/raw");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.14.desc"), 14, "voidstone/animated/eye");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.15.desc"), 15, "voidstone/animated/bevel");
|
||||
} else {
|
||||
voidstone = (BlockVoidstone) new BlockVoidstone(null).setStepSound(Block.soundTypeStone).setCreativeTab(ModTabs.tabChiselBlocks);
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.0.desc"), 0, "voidstone/metalborder");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.1.desc"), 1, "voidstone/quarters");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.2.desc"), 2, "voidstone/smooth");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.3.desc"), 3, "voidstone/skulls");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.12.desc"), 12, "voidstone/rune");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.13.desc"), 13, "voidstone/raw");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.14.desc"), 14, "voidstone/eye");
|
||||
voidstone.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstone.15.desc"), 15, "voidstone/bevel");
|
||||
}
|
||||
voidstone.carverHelper.register(voidstone, "voidstone");
|
||||
Carving.chisel.registerOre("voidstone", "voidstone");
|
||||
}
|
||||
|
||||
if(Configurations.featureEnabled("voidstonePillars")){
|
||||
voidstonePillar = (BlockVoidstonePillar) new BlockVoidstonePillar().setStepSound(Block.soundTypeStone);
|
||||
voidstonePillar.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar-side");
|
||||
voidstonePillar = (BlockVoidstonePillar) new BlockVoidstonePillar(Configurations.animatedVoidstone).setStepSound(Block.soundTypeStone);
|
||||
if(Configurations.animatedVoidstone){
|
||||
voidstonePillar.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar-side");
|
||||
} else {
|
||||
voidstonePillar.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar-side");
|
||||
}
|
||||
voidstonePillar.carvableHelper.register(voidstonePillar, "voidstonePillar");
|
||||
Carving.chisel.registerOre("voidstonePillar", "voidstonePillar");
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2,
|
||||
"frames": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
4,
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0,
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 926 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 374 B |
|
After Width: | Height: | Size: 900 KiB |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2,
|
||||
"frames": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
4,
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0,
|
||||
]
|
||||
}
|
||||
}
|
||||