From 4a6da6d0f7f39d609fa587111e56715f682223ce Mon Sep 17 00:00:00 2001 From: Sen Date: Sun, 1 Jun 2025 17:24:32 +0200 Subject: [PATCH] add spring water --- .../client/renderer/ticked/TextureWaterFX.java | 10 +++++----- .../renderer/ticked/TextureWaterFlowFX.java | 12 ++++++------ .../textures/blocks/springwater_flow.png | Bin 0 -> 14404 bytes .../textures/blocks/springwater_still.png | Bin 0 -> 18364 bytes .../textures/items/springwater_bucket.png | Bin 0 -> 5044 bytes .../common/block/liquid/BlockDynamicLiquid.java | 2 +- .../main/java/common/init/BlockRegistry.java | 1 + common/src/main/java/common/init/Blocks.java | 8 ++++++-- common/src/main/java/common/init/Items.java | 10 ++++++---- .../main/java/common/init/UniverseRegistry.java | 6 +++--- 10 files changed, 28 insertions(+), 21 deletions(-) create mode 100755 client/src/main/resources/textures/blocks/springwater_flow.png create mode 100755 client/src/main/resources/textures/blocks/springwater_still.png create mode 100755 client/src/main/resources/textures/items/springwater_bucket.png diff --git a/client/src/main/java/client/renderer/ticked/TextureWaterFX.java b/client/src/main/java/client/renderer/ticked/TextureWaterFX.java index be5a276..7deb1c2 100755 --- a/client/src/main/java/client/renderer/ticked/TextureWaterFX.java +++ b/client/src/main/java/client/renderer/ticked/TextureWaterFX.java @@ -68,10 +68,10 @@ public class TextureWaterFX extends TextureTicked f1 = 0.0F; } float f2 = f1 * f1; - int l1 = (int)(32F + f2 * 32F); - int j2 = (int)(50F + f2 * 64F); - int k2 = 255; - int l2 = (int)(146F + f2 * 50F); + int r = (int)(32F + f2 * 32F); + int g = (int)(50F + f2 * 64F); + int b = 255; + int a = (int)(146F + f2 * 50F); // if(flag) // { // int i3 = (l1 * 30 + j2 * 59 + k2 * 11) / 100; @@ -81,7 +81,7 @@ public class TextureWaterFX extends TextureTicked // j2 = j3; // k2 = k3; // } - textureData[i1] = (l2 << 24) | (l1 << 16) | (j2 << 8) | k2; + textureData[i1] = (a << 24) | (r << 16) | (g << 8) | b; } } diff --git a/client/src/main/java/client/renderer/ticked/TextureWaterFlowFX.java b/client/src/main/java/client/renderer/ticked/TextureWaterFlowFX.java index ebf64ef..b28f2c1 100755 --- a/client/src/main/java/client/renderer/ticked/TextureWaterFlowFX.java +++ b/client/src/main/java/client/renderer/ticked/TextureWaterFlowFX.java @@ -67,11 +67,11 @@ public class TextureWaterFlowFX extends TextureTicked { f1 = 0.0F; } - float f2 = f1 * f1; - int l1 = (int)(32F + f2 * 32F); - int j2 = (int)(50F + f2 * 64F); - int k2 = 255; - int l2 = (int)(146F + f2 * 50F); + float v = f1 * f1; + int r = (int)(32F + v * 32F); + int g = (int)(50F + v * 64F); + int b = 255; + int a = (int)(146F + v * 50F); // if(flag) // { // int i3 = (l1 * 30 + j2 * 59 + k2 * 11) / 100; @@ -83,7 +83,7 @@ public class TextureWaterFlowFX extends TextureTicked // } textureData[(i1 & 0x0f) | ((i1 & 0xf0) * 2)] = textureData[((i1 & 0x0f) + 16) | ((i1 & 0xf0) * 2)] = textureData[(i1 & 0x0f) | (((i1 & 0xf0) + 256) * 2)] = textureData[((i1 & 0x0f) + 16) | (((i1 & 0xf0) + 256) * 2)] = - (l2 << 24) | (l1 << 16) | (j2 << 8) | k2; + (a << 24) | (r << 16) | (g << 8) | b; } } diff --git a/client/src/main/resources/textures/blocks/springwater_flow.png b/client/src/main/resources/textures/blocks/springwater_flow.png new file mode 100755 index 0000000000000000000000000000000000000000..19dcfef33936b82235e854b25aab379cfa651133 GIT binary patch literal 14404 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 L4-ua7i%R(~O|y`F literal 0 HcmV?d00001 diff --git a/common/src/main/java/common/block/liquid/BlockDynamicLiquid.java b/common/src/main/java/common/block/liquid/BlockDynamicLiquid.java index 1464a49..98a4d51 100755 --- a/common/src/main/java/common/block/liquid/BlockDynamicLiquid.java +++ b/common/src/main/java/common/block/liquid/BlockDynamicLiquid.java @@ -292,7 +292,7 @@ public class BlockDynamicLiquid extends BlockLiquid private boolean canFlowInto(World worldIn, BlockPos pos, State state) { Material material = state.getBlock().getMaterial(); - return material != this.material && material != Material.LAVA && !this.isBlocked(worldIn, pos, state); + return (this.material == Material.LAVA || !(state.getBlock() instanceof BlockLiquid) || (state.getBlock() instanceof BlockStaticLiquid ? BlockLiquid.getFlowingBlock((BlockStaticLiquid)state.getBlock()) : state.getBlock()) == this) && material != this.material && material != Material.LAVA && !this.isBlocked(worldIn, pos, state); } public void onBlockAdded(AWorldServer worldIn, BlockPos pos, State state) diff --git a/common/src/main/java/common/init/BlockRegistry.java b/common/src/main/java/common/init/BlockRegistry.java index e94ece2..d8e2b70 100755 --- a/common/src/main/java/common/init/BlockRegistry.java +++ b/common/src/main/java/common/init/BlockRegistry.java @@ -330,6 +330,7 @@ public abstract class BlockRegistry { registerFluid(46, 47, "goo", "Klebrige Masse", false, LiquidType.COLD, true, 0, 60, 0.0f, 10, 5); registerFluid(48, 49, "nukage", "Radioaktive Masse", false, LiquidType.COLD, true, 10, 10, 4.0f, 2, 2); registerFluid(50, 51, "blood", "Blut", false, LiquidType.COLD, false, 0, 10, 0.0f, 2, 1); + registerFluid(52, 53, "springwater", "Klares Wasser", true, LiquidType.COLD, false, 0, 5, 0.0f, 1, 1); registerBlock(60, "coal_ore", diff --git a/common/src/main/java/common/init/Blocks.java b/common/src/main/java/common/init/Blocks.java index e783b3a..96871f7 100755 --- a/common/src/main/java/common/init/Blocks.java +++ b/common/src/main/java/common/init/Blocks.java @@ -407,6 +407,8 @@ public abstract class Blocks { public static final BlockWorkbench workbench = get("workbench"); public static final Block zinc_block = get("zinc_block"); public static final BlockOre zinc_ore = get("zinc_ore"); + public static final BlockDynamicLiquid flowing_springwater = get("flowing_springwater"); + public static final BlockStaticLiquid springwater = get("springwater"); private static T get(String id) { if(!BlockRegistry.REGISTRY.containsKey(id)) @@ -427,13 +429,15 @@ public abstract class Blocks { } } if(!blocks.isEmpty()) { - List list = Lists.newArrayList(BlockRegistry.REGISTRY); + List list = Lists.newArrayList(blocks); Collections.sort(list, Comparator.comparing(block -> BlockRegistry.REGISTRY.getNameForObject(block))); + System.err.printf("\n*** -------------------------------------------------------------- ***\n\n"); for(Block block : list) { String name = BlockRegistry.REGISTRY.getNameForObject(block); System.err.printf("\tpublic static final %s %s = get(\"%s\");\n", block.getClass().getSimpleName(), name, name); } - throw new RuntimeException("^^^ " + Blocks.class.getCanonicalName() + ": Blockliste ist unvollständig, Bitte neuen Quellcode einfügen ^^^"); + System.err.printf("\n^^^ " + Blocks.class.getCanonicalName() + ": Blockliste ist unvollständig, Bitte neuen Quellcode einfügen ^^^\n"); + System.exit(1); } } } diff --git a/common/src/main/java/common/init/Items.java b/common/src/main/java/common/init/Items.java index 75ea8ad..afaceb5 100755 --- a/common/src/main/java/common/init/Items.java +++ b/common/src/main/java/common/init/Items.java @@ -638,6 +638,8 @@ public abstract class Items { public static final ItemMetalBlock zinc_block = get("zinc_block"); public static final ItemMetal zinc_ingot = get("zinc_ingot"); public static final ItemMetalBlock zinc_ore = get("zinc_ore"); + public static final ItemBucket recursive_springwater_bucket = get("recursive_springwater_bucket"); + public static final ItemBucket springwater_bucket = get("springwater_bucket"); private static T get(String id) { if(!ItemRegistry.REGISTRY.containsKey(id)) @@ -663,15 +665,15 @@ public abstract class Items { iter.remove(); } if(!items.isEmpty()) { - List list = Lists.newArrayList(ItemRegistry.REGISTRY); + List list = Lists.newArrayList(items); Collections.sort(list, Comparator.comparing(item -> ItemRegistry.REGISTRY.getNameForObject(item))); + System.err.printf("\n*** -------------------------------------------------------------- ***\n\n"); for(Item item : list) { - if(item instanceof ItemNpcSpawner || item instanceof ItemMonsterPlacer) - continue; String name = ItemRegistry.REGISTRY.getNameForObject(item); System.err.printf("\tpublic static final %s %s = get(\"%s\");\n", item.getClass().getSimpleName(), name, name); } - throw new RuntimeException("^^^ " + Items.class.getCanonicalName() + ": Gegenstandsliste ist unvollständig, Bitte neuen Quellcode einfügen ^^^"); + System.err.printf("\n^^^ " + Items.class.getCanonicalName() + ": Gegenstandsliste ist unvollständig, Bitte neuen Quellcode einfügen ^^^\n"); + System.exit(1); } } } diff --git a/common/src/main/java/common/init/UniverseRegistry.java b/common/src/main/java/common/init/UniverseRegistry.java index b00741d..a2cf99b 100755 --- a/common/src/main/java/common/init/UniverseRegistry.java +++ b/common/src/main/java/common/init/UniverseRegistry.java @@ -650,10 +650,10 @@ public abstract class UniverseRegistry { registerDomain("Tian'Xin", "tianxin"); registerDimension("Ni'enrath", new Area(-2, "nienrath", 0x7f00ff, 0x7f00ff, 276.15f, 1) - .setPerlinGen(Blocks.tian.getState(), Blocks.water.getState(), 63).setBiome(Biome.TIAN) + .setPerlinGen(Blocks.tian.getState(), Blocks.springwater.getState(), 63).setBiome(Biome.TIAN) .setBiomeReplacer(Blocks.tian.getState()).enableLongCaves().enableMobs().enableSnow() - .addLake(Blocks.water.getState(), Blocks.tian.getState(), Blocks.tian.getState(), 4, 0, 255, false) - .addLiquid(Blocks.flowing_water.getState(), 50, 8, 255, false), "tianxin"); + .addLake(Blocks.springwater.getState(), Blocks.tian.getState(), Blocks.tian.getState(), 4, 0, 255, false) + .addLiquid(Blocks.flowing_springwater.getState(), 50, 8, 255, false), "tianxin"); registerDimension("Cyberspace", new Area(-3, "cyberspace", 0x000000, 0x000000, 293.15f, 15) .setFlatGen(Blocks.stained_hardened_clay.getState().withProperty(BlockColored.COLOR, DyeColor.GREEN), 2)