Server crash hotfix

This commit is contained in:
paulevsGitch 2020-11-27 20:33:08 +03:00
parent 4e1e72348a
commit 7f2bad86ca
4 changed files with 47 additions and 66 deletions

View file

@ -8,7 +8,7 @@
loader_version=0.10.8 loader_version=0.10.8
# Mod Properties # Mod Properties
mod_version = 0.7.0-beta mod_version = 0.7.1-beta
maven_group = ru.betterend maven_group = ru.betterend
archives_base_name = better-end archives_base_name = better-end

View file

@ -29,8 +29,6 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp
public static final Vec3i[] COLORS; public static final Vec3i[] COLORS;
private static final int MIN_DROP = 1; private static final int MIN_DROP = 1;
private static final int MAX_DROP = 4; private static final int MAX_DROP = 4;
private static final BlockColorProvider BLOCK_PROVIDER;
private static final ItemColorProvider ITEM_PROVIDER;
public AuroraCrystalBlock() { public AuroraCrystalBlock() {
super(FabricBlockSettings.of(Material.GLASS) super(FabricBlockSettings.of(Material.GLASS)
@ -45,12 +43,30 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp
@Override @Override
public BlockColorProvider getProvider() { 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 @Override
public ItemColorProvider getItemProvider() { public ItemColorProvider getItemProvider() {
return ITEM_PROVIDER; return (stack, tintIndex) -> {
return MHelper.color(COLORS[3].getX(), COLORS[3].getY(), COLORS[3].getZ());
};
} }
@Override @Override
@ -90,27 +106,5 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp
new Vec3i(120, 255, 168), new Vec3i(120, 255, 168),
new Vec3i(243, 58, 255) 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());
};
} }
} }

View file

@ -12,8 +12,6 @@ import ru.betterend.interfaces.IColorProvider;
import ru.betterend.util.MHelper; import ru.betterend.util.MHelper;
public class BlockTenaneaFlowers extends BlockVine implements IColorProvider { 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 static final Vec3i[] COLORS;
public BlockTenaneaFlowers() { public BlockTenaneaFlowers() {
@ -22,28 +20,7 @@ public class BlockTenaneaFlowers extends BlockVine implements IColorProvider {
@Override @Override
public BlockColorProvider getProvider() { public BlockColorProvider getProvider() {
return BLOCK_PROVIDER; return (state, world, pos, tintIndex) -> {
}
@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) -> {
long i = (MHelper.getRandom(pos.getX(), pos.getZ()) & 63) + pos.getY(); long i = (MHelper.getRandom(pos.getX(), pos.getZ()) & 63) + pos.getY();
double delta = i * 0.1; double delta = i * 0.1;
int index = MHelper.floor(delta); 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]); 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()); 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)
};
}
} }

View file

@ -11,29 +11,22 @@ import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.Patterns; import ru.betterend.patterns.Patterns;
public class BlockBulbVineLanternColored extends BlockBulbVineLantern implements IColorProvider, BlockPatterned { public class BlockBulbVineLanternColored extends BlockBulbVineLantern implements IColorProvider, BlockPatterned {
private final BlockColorProvider blockProvider;
private final ItemColorProvider itemProvider;
public BlockBulbVineLanternColored(FabricBlockSettings settings) { public BlockBulbVineLanternColored(FabricBlockSettings settings) {
super(settings); super(settings);
blockProvider = (state, world, pos, tintIndex) -> {
return this.getDefaultMaterialColor().color;
};
itemProvider = (stack, tintIndex) -> {
return this.getDefaultMaterialColor().color;
};
} }
@Override @Override
public BlockColorProvider getProvider() { public BlockColorProvider getProvider() {
return blockProvider; return (state, world, pos, tintIndex) -> {
return this.getDefaultMaterialColor().color;
};
} }
@Override @Override
public ItemColorProvider getItemProvider() { public ItemColorProvider getItemProvider() {
return itemProvider; return (stack, tintIndex) -> {
return this.getDefaultMaterialColor().color;
};
} }
@Override @Override