diff --git a/src/main/java/info/jbcs/minecraft/chisel/client/GeneralChiselClient.java b/src/main/java/info/jbcs/minecraft/chisel/client/GeneralChiselClient.java index f519b02d..f701d164 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/client/GeneralChiselClient.java +++ b/src/main/java/info/jbcs/minecraft/chisel/client/GeneralChiselClient.java @@ -8,6 +8,7 @@ import info.jbcs.minecraft.chisel.block.BlockVoidstone; import info.jbcs.minecraft.chisel.entity.fx.EntityBallOMossFX; 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 net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -129,9 +130,45 @@ public class GeneralChiselClient } } - public static void spawnVoidstoneFX(World world, BlockVoidstone blockVoidstone, int x, int y, int z){ + 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); } } diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/metalborder.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/metalborder.png new file mode 100644 index 00000000..315ad47c Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/metalborder.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/particles/star.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/particles/star.png new file mode 100644 index 00000000..f4dd1104 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/particles/star.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-side.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-side.png new file mode 100644 index 00000000..980fca40 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-side.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-top.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-top.png new file mode 100644 index 00000000..eb538644 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-top.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/quarters.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/quarters.png new file mode 100644 index 00000000..b2ac4a1f Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/quarters.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/raw.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/raw.png new file mode 100644 index 00000000..1230a6b0 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/raw.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/skulls.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/skulls.png new file mode 100644 index 00000000..7170e0d2 Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/skulls.png differ diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/smooth.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/smooth.png new file mode 100644 index 00000000..f172650b Binary files /dev/null and b/src/main/resources/assets/chisel/textures/blocks/voidstone/smooth.png differ