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 0000000..19dcfef Binary files /dev/null and b/client/src/main/resources/textures/blocks/springwater_flow.png differ diff --git a/client/src/main/resources/textures/blocks/springwater_still.png b/client/src/main/resources/textures/blocks/springwater_still.png new file mode 100755 index 0000000..fdd9eab Binary files /dev/null and b/client/src/main/resources/textures/blocks/springwater_still.png differ diff --git a/client/src/main/resources/textures/items/springwater_bucket.png b/client/src/main/resources/textures/items/springwater_bucket.png new file mode 100755 index 0000000..75e0382 Binary files /dev/null and b/client/src/main/resources/textures/items/springwater_bucket.png differ 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)