From 7126ca5a9fbab3f361f0edfdf77bc3f2b32af3a9 Mon Sep 17 00:00:00 2001 From: Sen Date: Sat, 24 May 2025 11:46:37 +0200 Subject: [PATCH] add soul+black fire --- client/src/client/init/RenderRegistry.java | 4 + .../renderer/ticked/TextureFlamesFX1.java | 22 +- .../renderer/ticked/TextureFlamesFX2.java | 8 +- .../renderer/ticked/TextureFlamesFXMono1.java | 7 + .../renderer/ticked/TextureFlamesFXMono2.java | 7 + common/src/common/block/Block.java | 4 + common/src/common/block/BlockFire.java | 421 +++++++++--------- common/src/common/block/BlockTintedFire.java | 35 ++ common/src/common/init/BlockRegistry.java | 4 + common/src/common/init/Blocks.java | 2 + .../src/common/init/FlammabilityRegistry.java | 65 ++- common/src/common/init/ItemRegistry.java | 8 +- common/src/common/item/ItemFlintAndSteel.java | 9 +- common/src/common/world/World.java | 4 +- .../src/server/clipboard/ReorderRegistry.java | 2 + 15 files changed, 346 insertions(+), 256 deletions(-) create mode 100644 client/src/client/renderer/ticked/TextureFlamesFXMono1.java create mode 100644 client/src/client/renderer/ticked/TextureFlamesFXMono2.java create mode 100644 common/src/common/block/BlockTintedFire.java diff --git a/client/src/client/init/RenderRegistry.java b/client/src/client/init/RenderRegistry.java index d57d794..8445a62 100644 --- a/client/src/client/init/RenderRegistry.java +++ b/client/src/client/init/RenderRegistry.java @@ -57,6 +57,8 @@ import client.renderer.model.ModelWolf; import client.renderer.texture.TextureTicked; import client.renderer.ticked.TextureFlamesFX1; import client.renderer.ticked.TextureFlamesFX2; +import client.renderer.ticked.TextureFlamesFXMono1; +import client.renderer.ticked.TextureFlamesFXMono2; import client.renderer.ticked.TextureLavaFX; import client.renderer.ticked.TextureLavaFlowFX; import client.renderer.ticked.TextureWaterFX; @@ -165,6 +167,8 @@ public abstract class RenderRegistry { public static void registerAnimations(Map> anim) { anim.put("fire1", TextureFlamesFX1.class); anim.put("fire2", TextureFlamesFX2.class); + anim.put("flame1", TextureFlamesFXMono1.class); + anim.put("flame2", TextureFlamesFXMono2.class); anim.put("lavaflow", TextureLavaFlowFX.class); anim.put("lava", TextureLavaFX.class); anim.put("waterflow", TextureWaterFlowFX.class); diff --git a/client/src/client/renderer/ticked/TextureFlamesFX1.java b/client/src/client/renderer/ticked/TextureFlamesFX1.java index 6b07093..470957b 100755 --- a/client/src/client/renderer/ticked/TextureFlamesFX1.java +++ b/client/src/client/renderer/ticked/TextureFlamesFX1.java @@ -4,12 +4,18 @@ import client.renderer.texture.TextureTicked; public class TextureFlamesFX1 extends TextureTicked -{ +{ + private final boolean mono; - public TextureFlamesFX1() + public TextureFlamesFX1(boolean mono) { field_1133_g = new float[320]; - field_1132_h = new float[320]; + field_1132_h = new float[320]; + this.mono = mono; + } + + public TextureFlamesFX1() { + this(false); } public void renderStep(int textureData[]) @@ -76,8 +82,14 @@ public class TextureFlamesFX1 extends TextureTicked // j1 = l2; // l1 = i3; // j2 = j3; -// } - textureData[k] = (c << 24) | (j1 << 16) | (l1 << 8) | j2; +// } + if(this.mono) { + j2 = (j1 + l1 + j2) / 3; + textureData[k] = (c << 24) | (j2 << 16) | (j2 << 8) | j2; + } + else { + textureData[k] = (c << 24) | (j1 << 16) | (l1 << 8) | j2; + } } } diff --git a/client/src/client/renderer/ticked/TextureFlamesFX2.java b/client/src/client/renderer/ticked/TextureFlamesFX2.java index 615af67..89ede38 100755 --- a/client/src/client/renderer/ticked/TextureFlamesFX2.java +++ b/client/src/client/renderer/ticked/TextureFlamesFX2.java @@ -1,11 +1,17 @@ package client.renderer.ticked; public class TextureFlamesFX2 extends TextureFlamesFX1 { - public TextureFlamesFX2() + public TextureFlamesFX2(boolean mono) { + super(mono); int[] tex = new int[256]; for(int z = 0; z < 160; z++) { this.renderStep(tex); } } + + public TextureFlamesFX2() + { + this(false); + } } diff --git a/client/src/client/renderer/ticked/TextureFlamesFXMono1.java b/client/src/client/renderer/ticked/TextureFlamesFXMono1.java new file mode 100644 index 0000000..df13b2a --- /dev/null +++ b/client/src/client/renderer/ticked/TextureFlamesFXMono1.java @@ -0,0 +1,7 @@ +package client.renderer.ticked; + +public class TextureFlamesFXMono1 extends TextureFlamesFX1 { + public TextureFlamesFXMono1() { + super(true); + } +} diff --git a/client/src/client/renderer/ticked/TextureFlamesFXMono2.java b/client/src/client/renderer/ticked/TextureFlamesFXMono2.java new file mode 100644 index 0000000..2c4a094 --- /dev/null +++ b/client/src/client/renderer/ticked/TextureFlamesFXMono2.java @@ -0,0 +1,7 @@ +package client.renderer.ticked; + +public class TextureFlamesFXMono2 extends TextureFlamesFX2 { + public TextureFlamesFXMono2() { + super(true); + } +} diff --git a/common/src/common/block/Block.java b/common/src/common/block/Block.java index d1c321a..9a52336 100755 --- a/common/src/common/block/Block.java +++ b/common/src/common/block/Block.java @@ -1441,6 +1441,10 @@ public class Block return false; } + public boolean canExtinguish() { + return false; + } + public void onDestroyedByFire(World world, BlockPos pos, State state) { } } diff --git a/common/src/common/block/BlockFire.java b/common/src/common/block/BlockFire.java index e0bc2f7..aee1003 100755 --- a/common/src/common/block/BlockFire.java +++ b/common/src/common/block/BlockFire.java @@ -2,9 +2,9 @@ package common.block; import java.util.Map; -import common.collect.Maps; import common.init.Blocks; import common.init.Config; +import common.init.FlammabilityRegistry; import common.init.SoundEvent; import common.material.Material; import common.model.BlockLayer; @@ -36,8 +36,6 @@ public class BlockFire extends Block public static final PropertyBool SOUTH = PropertyBool.create("south"); public static final PropertyBool WEST = PropertyBool.create("west"); public static final PropertyInteger UPPER = PropertyInteger.create("upper", 0, 2); - private final Map encouragements = Maps.newIdentityHashMap(); - private final Map flammabilities = Maps.newIdentityHashMap(); /** * Get the actual Block state of this Block at the given position. This applies properties not visible in the @@ -75,12 +73,6 @@ public class BlockFire extends Block this.setTickRandomly(); } - public void setFireInfo(Block blockIn, int encouragement, int flammability) - { - this.encouragements.put(blockIn, Integer.valueOf(encouragement)); - this.flammabilities.put(blockIn, Integer.valueOf(flammability)); - } - public BoundingBox getCollisionBoundingBox(World worldIn, BlockPos pos, State state) { return null; @@ -242,21 +234,9 @@ public class BlockFire extends Block return false; } - private int getFlammability(Block blockIn) - { - Integer integer = (Integer)this.flammabilities.get(blockIn); - return integer == null ? 0 : integer.intValue(); - } - - private int getEncouragement(Block blockIn) - { - Integer integer = (Integer)this.encouragements.get(blockIn); - return integer == null ? 0 : integer.intValue(); - } - private void catchOnFire(World worldIn, BlockPos pos, int chance, Random random, int age) { - int i = this.getFlammability(worldIn.getState(pos).getBlock()); + int i = FlammabilityRegistry.getFlammability(worldIn.getState(pos).getBlock()); if (random.zrange(chance) < i) { @@ -311,7 +291,7 @@ public class BlockFire extends Block for (Facing enumfacing : Facing.values()) { - i = Math.max(this.getEncouragement(worldIn.getState(pos.offset(enumfacing)).getBlock()), i); + i = Math.max(FlammabilityRegistry.getEncouragement(worldIn.getState(pos.offset(enumfacing)).getBlock()), i); } return i; @@ -331,7 +311,7 @@ public class BlockFire extends Block */ public boolean canCatchFire(IBlockAccess worldIn, BlockPos pos) { - return this.getEncouragement(worldIn.getState(pos).getBlock()) > 0; + return FlammabilityRegistry.getEncouragement(worldIn.getState(pos).getBlock()) > 0; } public boolean canPlaceBlockAt(World worldIn, BlockPos pos) @@ -479,485 +459,484 @@ public class BlockFire extends Block private static Model fire_nsu2_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nu1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_nseu2_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_neu1_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_nsu2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nu2_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_neu2_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nsewu2_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nsewu2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nsew(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull(); + .w().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_floor(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 0, 8.8f, 16, 22.4f, 8.8f).noShade().rotate(8, 8, 8, Facing.Axis.X, -22.5f, true) - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 0, 7.2f, 16, 22.4f, 7.2f).noShade().rotate(8, 8, 8, Facing.Axis.X, 22.5f, true) - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(8.8f, 0, 0, 8.8f, 22.4f, 16).noShade().rotate(8, 8, 8, Facing.Axis.Z, -22.5f, true) - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(7.2f, 0, 0, 7.2f, 22.4f, 16).noShade().rotate(8, 8, 8, Facing.Axis.Z, 22.5f, true) - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(0, 0, 15.99f, 16, 22.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 0, 0.01f, 16, 22.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0.01f, 0, 0, 0.01f, 22.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 0, 0, 15.99f, 22.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull(); + .e().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_u1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_n_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull(); + .n().uv(16, 0, 0, 16).noCull().tint(); } private static Model fire_ne(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull(); + .w().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nsew_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull(); + .w().uv(16, 0, 0, 16).noCull().tint(); } private static Model fire_nse(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull(); + .w().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nse_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull(); + .w().uv(16, 0, 0, 16).noCull().tint(); } private static Model fire_nsu1_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_n(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull(); + .n().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_ns(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull(); + .n().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_neu1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_u2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nseu2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_neu2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nu2(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(180).noCull() + .d().uv(0, 0, 16, 16).rot(180).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) - .d().uv(0, 0, 16, 16).noCull(); + .d().uv(0, 0, 16, 16).noCull().tint(); } private static Model fire_nseu1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_ns_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull(); + .n().uv(16, 0, 0, 16).noCull().tint(); } private static Model fire_nsewu1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_nsu1(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_nsewu1_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0.01f, 1, 0, 0.01f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } private static Model fire_ne_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull(); + .w().uv(16, 0, 0, 16).noCull().tint(); } private static Model fire_nseu1_flip(String fire) { return ModelProvider.getModelProvider().getModel(fire).noOcclude() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .s().uv(16, 0, 0, 16).noCull() + .s().uv(16, 0, 0, 16).noCull().tint() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() - .n().uv(16, 0, 0, 16).noCull() + .n().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .e().uv(16, 0, 0, 16).noCull() + .e().uv(16, 0, 0, 16).noCull().tint() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() - .w().uv(16, 0, 0, 16).noCull() + .w().uv(16, 0, 0, 16).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) - .d().uv(0, 0, 16, 16).rot(270).noCull() + .d().uv(0, 0, 16, 16).rot(270).noCull().tint() .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) - .d().uv(0, 0, 16, 16).rot(90).noCull(); + .d().uv(0, 0, 16, 16).rot(90).noCull().tint(); } - private static Model getFireModel(boolean alt, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) { - String tex = alt ? "fire_layer_1" : "fire_layer_0"; + protected static Model getFireModel(String tex, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) { if(!e && !flip && !n && !s && upper == 0 && !w) return fire_floor(tex); else if(!e && !flip && !n && s && upper == 0 && !w) @@ -1155,7 +1134,7 @@ public class BlockFire extends Block } public Model getModel(ModelProvider provider, String name, State state) { - return getFireModel(state.getValue(ALT), state.getValue(FLIP), state.getValue(UPPER), + return getFireModel(state.getValue(ALT) ? "fire_layer_1" : "fire_layer_0", state.getValue(FLIP), state.getValue(UPPER), state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST)); } @@ -1167,4 +1146,8 @@ public class BlockFire extends Block map.put("blocks/fire_layer_0", "fire1"); map.put("blocks/fire_layer_1", "fire2"); } + + public boolean canExtinguish() { + return true; + } } diff --git a/common/src/common/block/BlockTintedFire.java b/common/src/common/block/BlockTintedFire.java new file mode 100644 index 0000000..fa450ad --- /dev/null +++ b/common/src/common/block/BlockTintedFire.java @@ -0,0 +1,35 @@ +package common.block; + +import java.util.Map; + +import common.model.Model; +import common.model.ModelProvider; +import common.util.BlockPos; +import common.world.IWorldAccess; +import common.world.State; + +public class BlockTintedFire extends BlockFire { + private final int tint; + + public BlockTintedFire(int tint) { + this.tint = tint; + } + + public int getRenderColor(State state) { + return this.tint; + } + + public int colorMultiplier(IWorldAccess worldIn, BlockPos pos, int renderPass) { + return this.tint; + } + + public Model getModel(ModelProvider provider, String name, State state) { + return getFireModel(state.getValue(ALT) ? "flame_layer_1" : "flame_layer_0", state.getValue(FLIP), state.getValue(UPPER), + state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST)); + } + + public void getAnimatedTextures(Map map) { + map.put("blocks/flame_layer_0", "flame1"); + map.put("blocks/flame_layer_1", "flame2"); + } +} diff --git a/common/src/common/init/BlockRegistry.java b/common/src/common/init/BlockRegistry.java index 2139cff..c348564 100755 --- a/common/src/common/init/BlockRegistry.java +++ b/common/src/common/init/BlockRegistry.java @@ -306,6 +306,10 @@ public abstract class BlockRegistry { .setDisplay(wood.getDisplay() + "setzling")); } + registerBlock(252, "soul_fire", + (new BlockTintedFire(0x4010ff)).setHardness(0.0F).setLightLevel(1.0F).setStepSound(SoundType.CLOTH).setDisplay("Feuer der Seelen")); + registerBlock(253, "black_fire", + (new BlockTintedFire(0x202020)).setHardness(0.0F).setLightLevel(1.0F).setStepSound(SoundType.CLOTH).setDisplay("Dunkles Feuer")); registerBlock(254, "web", (new BlockWeb()).setLightOpacity(1).setHardness(4.0F).setDisplay("Spinnennetz")); registerBlock(255, "fire", (new BlockFire()).setHardness(0.0F).setLightLevel(1.0F).setStepSound(SoundType.CLOTH).setDisplay("Feuer")); diff --git a/common/src/common/init/Blocks.java b/common/src/common/init/Blocks.java index eb86097..056473c 100755 --- a/common/src/common/init/Blocks.java +++ b/common/src/common/init/Blocks.java @@ -134,6 +134,8 @@ public abstract class Blocks { public static final Block obsidian = get("obsidian"); public static final Block torch = get("torch"); public static final BlockFire fire = (BlockFire)get("fire"); + public static final BlockFire black_fire = (BlockFire)get("black_fire"); + public static final BlockFire soul_fire = (BlockFire)get("soul_fire"); public static final Block mob_spawner = get("mob_spawner"); public static final Block oak_stairs = get("oak_stairs"); public static final BlockChest chest = (BlockChest)get("chest"); diff --git a/common/src/common/init/FlammabilityRegistry.java b/common/src/common/init/FlammabilityRegistry.java index 54f8f47..0d0a632 100755 --- a/common/src/common/init/FlammabilityRegistry.java +++ b/common/src/common/init/FlammabilityRegistry.java @@ -1,34 +1,51 @@ package common.init; +import java.util.Map; + import common.block.Block; +import common.collect.Maps; public abstract class FlammabilityRegistry { - private static void setFlammable(Block blockIn, int encouragement, int flammability) { - Blocks.fire.setFireInfo(blockIn, encouragement, flammability); + private static final Map ENCOURAGEMENT = Maps.newIdentityHashMap(); + private static final Map FLAMMABILITY = Maps.newIdentityHashMap(); + + private static void setFlammable(Block block, int encouragement, int flammability) { + ENCOURAGEMENT.put(block, encouragement); + FLAMMABILITY.put(block, flammability); } static void register() { - for(WoodType wood : WoodType.values()) { - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_planks"), 5, 20); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_slab"), 5, 20); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_stairs"), 5, 20); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence"), 5, 20); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence_gate"), 5, 20); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), 5, 5); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_leaves"), 30, 60); - setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_sapling"), 15, 100); - } - setFlammable(Blocks.bookshelf, 30, 20); - setFlammable(Blocks.tnt, 15, 100); - setFlammable(Blocks.tallgrass, 60, 100); - setFlammable(Blocks.double_plant, 60, 100); - setFlammable(Blocks.flower, 60, 100); - setFlammable(Blocks.deadbush, 60, 100); - setFlammable(Blocks.dry_leaves, 60, 100); - setFlammable(Blocks.wool, 30, 60); - setFlammable(Blocks.vine, 15, 100); - setFlammable(Blocks.coal_block, 5, 5); - setFlammable(Blocks.hay_block, 60, 20); - setFlammable(Blocks.carpet, 60, 20); + for(WoodType wood : WoodType.values()) { + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_planks"), 5, 20); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_slab"), 5, 20); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_stairs"), 5, 20); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence"), 5, 20); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence_gate"), 5, 20); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), 5, 5); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_leaves"), 30, 60); + setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_sapling"), 15, 100); + } + setFlammable(Blocks.bookshelf, 30, 20); + setFlammable(Blocks.tnt, 15, 100); + setFlammable(Blocks.tallgrass, 60, 100); + setFlammable(Blocks.double_plant, 60, 100); + setFlammable(Blocks.flower, 60, 100); + setFlammable(Blocks.deadbush, 60, 100); + setFlammable(Blocks.dry_leaves, 60, 100); + setFlammable(Blocks.wool, 30, 60); + setFlammable(Blocks.vine, 15, 100); + setFlammable(Blocks.coal_block, 5, 5); + setFlammable(Blocks.hay_block, 60, 20); + setFlammable(Blocks.carpet, 60, 20); + } + + public static int getFlammability(Block block) { + Integer value = FLAMMABILITY.get(block); + return value == null ? 0 : value.intValue(); + } + + public static int getEncouragement(Block block) { + Integer value = ENCOURAGEMENT.get(block); + return value == null ? 0 : value.intValue(); } } diff --git a/common/src/common/init/ItemRegistry.java b/common/src/common/init/ItemRegistry.java index 18a101d..5ff4a91 100755 --- a/common/src/common/init/ItemRegistry.java +++ b/common/src/common/init/ItemRegistry.java @@ -396,8 +396,10 @@ public abstract class ItemRegistry { for(Weather weather : Weather.values()) { registerItem("weather_token_" + weather.getName(), new ItemWeatherToken(weather).setDisplay("Wetterkristall").setTab(CheatTab.tabTools)); } - - registerItem("flint_and_steel", (new ItemFlintAndSteel()).setDisplay("Feuerzeug")); + + registerItem("flint_and_steel", (new ItemFlintAndSteel(Blocks.fire)).setDisplay("Feuerzeug")); + registerItem("burning_soul", (new ItemFlintAndSteel(Blocks.soul_fire)).setDisplay("Brennende Seele")); + registerItem("dark_lighter", (new ItemFlintAndSteel(Blocks.black_fire)).setDisplay("Verdunkelndes Feuerzeug")); registerItem("apple", (new ItemFood(4, false)).setDisplay("Apfel").setMaxStackSize(128)); registerItem("bow", (new ItemBow()).setDisplay("Bogen")); registerItem("boltgun", (new ItemBoltgun()).setDisplay("Bolter")); @@ -614,6 +616,8 @@ public abstract class ItemRegistry { // registerSpecial(Blocks.reeds); registerSpecial(Blocks.fire); + registerSpecial(Blocks.soul_fire); + registerSpecial(Blocks.black_fire); registerSpecial(Blocks.portal); registerSpecial(Blocks.floor_portal); // registerSpecial(Blocks.standing_sign); diff --git a/common/src/common/item/ItemFlintAndSteel.java b/common/src/common/item/ItemFlintAndSteel.java index 52ba772..5d029a4 100755 --- a/common/src/common/item/ItemFlintAndSteel.java +++ b/common/src/common/item/ItemFlintAndSteel.java @@ -1,7 +1,7 @@ package common.item; +import common.block.BlockFire; import common.entity.npc.EntityNPC; -import common.init.Blocks; import common.init.SoundEvent; import common.material.Material; import common.util.BlockPos; @@ -10,8 +10,11 @@ import common.world.World; public class ItemFlintAndSteel extends Item { - public ItemFlintAndSteel() + private final BlockFire fireBlock; + + public ItemFlintAndSteel(BlockFire fireBlock) { + this.fireBlock = fireBlock; this.maxStackSize = 1; this.setMaxDamage(64); this.setTab(CheatTab.tabTools); @@ -33,7 +36,7 @@ public class ItemFlintAndSteel extends Item if (worldIn.getState(pos).getBlock().getMaterial() == Material.air) { worldIn.playSound(SoundEvent.IGNITE, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, 1.0F); - worldIn.setState(pos, Blocks.fire.getState()); + worldIn.setState(pos, this.fireBlock.getState()); } stack.damageItem(1, playerIn); diff --git a/common/src/common/world/World.java b/common/src/common/world/World.java index 869fcc4..41c6290 100755 --- a/common/src/common/world/World.java +++ b/common/src/common/world/World.java @@ -1233,7 +1233,7 @@ public abstract class World implements IWorldAccess { for(int i2 = i1; i2 < j1; ++i2) { Block block = this.getState(blockpos$mutableblockpos.set(k1, l1, i2)).getBlock(); - if(block == Blocks.fire || block == Blocks.flowing_lava || block == Blocks.lava) { + if(block == Blocks.fire || block == Blocks.soul_fire || block == Blocks.flowing_lava || block == Blocks.lava || block.getMaterial().isHotLiquid()) { return true; } } @@ -1406,7 +1406,7 @@ public abstract class World implements IWorldAccess { public boolean extinguishFire(EntityNPC player, BlockPos pos, Facing side) { pos = pos.offset(side); - if(this.getState(pos).getBlock() == Blocks.fire) { + if(this.getState(pos).getBlock().canExtinguish()) { this.playAuxSFX(player, 1004, pos, 0); this.setBlockToAir(pos); return true; diff --git a/server/src/server/clipboard/ReorderRegistry.java b/server/src/server/clipboard/ReorderRegistry.java index 8e872b9..4f346ec 100755 --- a/server/src/server/clipboard/ReorderRegistry.java +++ b/server/src/server/clipboard/ReorderRegistry.java @@ -54,6 +54,8 @@ public abstract class ReorderRegistry { PLACE_LAST.add(Blocks.red_mushroom_block); PLACE_LAST.add(Blocks.torch); PLACE_LAST.add(Blocks.fire); + PLACE_LAST.add(Blocks.soul_fire); + PLACE_LAST.add(Blocks.black_fire); PLACE_LAST.add(Blocks.redstone); PLACE_LAST.add(Blocks.wheat); PLACE_LAST.add(Blocks.ladder);