From 7f2bad86ca92ac012c76a93f0c426d4215b72731 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Fri, 27 Nov 2020 20:33:08 +0300 Subject: [PATCH] Server crash hotfix --- gradle.properties | 2 +- .../betterend/blocks/AuroraCrystalBlock.java | 46 ++++++++----------- .../betterend/blocks/BlockTenaneaFlowers.java | 46 ++++++++----------- .../basis/BlockBulbVineLanternColored.java | 19 +++----- 4 files changed, 47 insertions(+), 66 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1130cc14..4557d394 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ loader_version=0.10.8 # Mod Properties - mod_version = 0.7.0-beta + mod_version = 0.7.1-beta maven_group = ru.betterend archives_base_name = better-end diff --git a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java index d8b08fa2..ba5edf0c 100644 --- a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java +++ b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java @@ -29,8 +29,6 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp public static final Vec3i[] COLORS; private static final int MIN_DROP = 1; private static final int MAX_DROP = 4; - private static final BlockColorProvider BLOCK_PROVIDER; - private static final ItemColorProvider ITEM_PROVIDER; public AuroraCrystalBlock() { super(FabricBlockSettings.of(Material.GLASS) @@ -45,12 +43,30 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp @Override public BlockColorProvider getProvider() { - return BLOCK_PROVIDER; + return (state, world, pos, tintIndex) -> { + long i = (long) pos.getX() + (long) pos.getY() + (long) pos.getZ(); + double delta = i * 0.1; + int index = MHelper.floor(delta); + int index2 = (index + 1) & 3; + delta -= index; + index &= 3; + + Vec3i color1 = COLORS[index]; + Vec3i color2 = COLORS[index2]; + + int r = MHelper.floor(MathHelper.lerp(delta, color1.getX(), color2.getX())); + int g = MHelper.floor(MathHelper.lerp(delta, color1.getY(), color2.getY())); + int b = MHelper.floor(MathHelper.lerp(delta, color1.getZ(), color2.getZ())); + + return MHelper.color(r, g, b); + }; } @Override public ItemColorProvider getItemProvider() { - return ITEM_PROVIDER; + return (stack, tintIndex) -> { + return MHelper.color(COLORS[3].getX(), COLORS[3].getY(), COLORS[3].getZ()); + }; } @Override @@ -90,27 +106,5 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp new Vec3i(120, 255, 168), new Vec3i(243, 58, 255) }; - - BLOCK_PROVIDER = (state, world, pos, tintIndex) -> { - long i = (long) pos.getX() + (long) pos.getY() + (long) pos.getZ(); - double delta = i * 0.1; - int index = MHelper.floor(delta); - int index2 = (index + 1) & 3; - delta -= index; - index &= 3; - - Vec3i color1 = COLORS[index]; - Vec3i color2 = COLORS[index2]; - - int r = MHelper.floor(MathHelper.lerp(delta, color1.getX(), color2.getX())); - int g = MHelper.floor(MathHelper.lerp(delta, color1.getY(), color2.getY())); - int b = MHelper.floor(MathHelper.lerp(delta, color1.getZ(), color2.getZ())); - - return MHelper.color(r, g, b); - }; - - ITEM_PROVIDER = (stack, tintIndex) -> { - return MHelper.color(COLORS[3].getX(), COLORS[3].getY(), COLORS[3].getZ()); - }; } } diff --git a/src/main/java/ru/betterend/blocks/BlockTenaneaFlowers.java b/src/main/java/ru/betterend/blocks/BlockTenaneaFlowers.java index 45d5e2aa..d571f7a7 100644 --- a/src/main/java/ru/betterend/blocks/BlockTenaneaFlowers.java +++ b/src/main/java/ru/betterend/blocks/BlockTenaneaFlowers.java @@ -12,8 +12,6 @@ import ru.betterend.interfaces.IColorProvider; import ru.betterend.util.MHelper; public class BlockTenaneaFlowers extends BlockVine implements IColorProvider { - private static final BlockColorProvider BLOCK_PROVIDER; - private static final ItemColorProvider ITEM_PROVIDER; public static final Vec3i[] COLORS; public BlockTenaneaFlowers() { @@ -22,28 +20,7 @@ public class BlockTenaneaFlowers extends BlockVine implements IColorProvider { @Override public BlockColorProvider getProvider() { - return BLOCK_PROVIDER; - } - - @Override - public ItemColorProvider getItemProvider() { - return ITEM_PROVIDER; - } - - @Override - public boolean isFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) { - return false; - } - - static { - COLORS = new Vec3i[] { - new Vec3i(250, 111, 222), - new Vec3i(167, 89, 255), - new Vec3i(120, 207, 239), - new Vec3i(255, 87, 182) - }; - - BLOCK_PROVIDER = (state, world, pos, tintIndex) -> { + return (state, world, pos, tintIndex) -> { long i = (MHelper.getRandom(pos.getX(), pos.getZ()) & 63) + pos.getY(); double delta = i * 0.1; int index = MHelper.floor(delta); @@ -61,9 +38,26 @@ public class BlockTenaneaFlowers extends BlockVine implements IColorProvider { return MHelper.fromHSBtoRGB(hsb[0], MHelper.max(0.5F, hsb[1]), hsb[2]); }; - - ITEM_PROVIDER = (stack, tintIndex) -> { + } + + @Override + public ItemColorProvider getItemProvider() { + return (stack, tintIndex) -> { return MHelper.color(COLORS[0].getX(), COLORS[0].getY(), COLORS[0].getZ()); }; } + + @Override + public boolean isFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) { + return false; + } + + static { + COLORS = new Vec3i[] { + new Vec3i(250, 111, 222), + new Vec3i(167, 89, 255), + new Vec3i(120, 207, 239), + new Vec3i(255, 87, 182) + }; + } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockBulbVineLanternColored.java b/src/main/java/ru/betterend/blocks/basis/BlockBulbVineLanternColored.java index d58d6bec..b567a990 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockBulbVineLanternColored.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockBulbVineLanternColored.java @@ -11,29 +11,22 @@ import ru.betterend.patterns.BlockPatterned; import ru.betterend.patterns.Patterns; public class BlockBulbVineLanternColored extends BlockBulbVineLantern implements IColorProvider, BlockPatterned { - private final BlockColorProvider blockProvider; - private final ItemColorProvider itemProvider; - public BlockBulbVineLanternColored(FabricBlockSettings settings) { super(settings); - - blockProvider = (state, world, pos, tintIndex) -> { - return this.getDefaultMaterialColor().color; - }; - - itemProvider = (stack, tintIndex) -> { - return this.getDefaultMaterialColor().color; - }; } @Override public BlockColorProvider getProvider() { - return blockProvider; + return (state, world, pos, tintIndex) -> { + return this.getDefaultMaterialColor().color; + }; } @Override public ItemColorProvider getItemProvider() { - return itemProvider; + return (stack, tintIndex) -> { + return this.getDefaultMaterialColor().color; + }; } @Override