feat: fetch allay's changes

This commit is contained in:
daoge_cmd committed 2024-07-17 01:27:56 +08:00
1 parent d490324bfc
commit cd767a648c
8 files changed
+15 -15

No files matched your search

@@ -31,7 +31,7 @@ public final class Mapping {
private static final Map<Integer, BlockState> BLOCK_STATE_JE_HASH_TO_BE = new Int2ObjectOpenHashMap<>(); private static final Map<Integer, BlockState> BLOCK_STATE_JE_HASH_TO_BE = new Int2ObjectOpenHashMap<>();
private static final Map<String, String> ITEM_ID_JE_TO_BE = new Object2ObjectOpenHashMap<>(); private static final Map<String, String> ITEM_ID_JE_TO_BE = new Object2ObjectOpenHashMap<>();
private static final Map<String, Integer> BIOME_ID_JE_TO_BE = new Object2IntOpenHashMap<>(); private static final Map<String, Integer> BIOME_ID_JE_TO_BE = new Object2IntOpenHashMap<>();
private static final BlockState BE_AIR_STATE = BlockTypes.AIR_TYPE.getDefaultState(); private static final BlockState BE_AIR_STATE = BlockTypes.AIR.getDefaultState();
public static void init() { public static void init() {
if(!initBlockStateMapping()) error(); if(!initBlockStateMapping()) error();
@@ -129,7 +129,7 @@ public final class Mapping {
var propertyType = blockType.getProperties().get(propertyName); var propertyType = blockType.getProperties().get(propertyName);
if (propertyType == null) { if (propertyType == null) {
log.warn("Unknown property type: {}", propertyName); log.warn("Unknown property type: {}", propertyName);
return BlockTypes.AIR_TYPE.getDefaultState(); return BlockTypes.AIR.getDefaultState();
} }
try { try {
propertyValues[index] = propertyType.tryCreateValue(entry.getValue()); propertyValues[index] = propertyType.tryCreateValue(entry.getValue());
@@ -155,7 +155,7 @@ public final class Mapping {
var result = BLOCK_STATE_JE_HASH_TO_BE.get(jeBlockState.getHash()); var result = BLOCK_STATE_JE_HASH_TO_BE.get(jeBlockState.getHash());
if(result == null) { if(result == null) {
log.warn("Failed to find be block state for {}", jeBlockState); log.warn("Failed to find be block state for {}", jeBlockState);
return BlockTypes.AIR_TYPE.getDefaultState(); return BlockTypes.AIR.getDefaultState();
} }
return result; return result;
} }
@@ -17,7 +17,7 @@ import java.util.Objects;
*/ */
public final class AllayBlockState implements com.dfsek.terra.api.block.state.BlockState { public final class AllayBlockState implements com.dfsek.terra.api.block.state.BlockState {
public static final AllayBlockState AIR = new AllayBlockState(BlockTypes.AIR_TYPE.getDefaultState(), public static final AllayBlockState AIR = new AllayBlockState(BlockTypes.AIR.getDefaultState(),
JeBlockState.fromString("minecraft:air")); JeBlockState.fromString("minecraft:air"));
private final BlockState allayBlockState; private final BlockState allayBlockState;
private final JeBlockState jeBlockState; private final JeBlockState jeBlockState;
@@ -65,7 +65,7 @@ public final class AllayBlockState implements com.dfsek.terra.api.block.state.Bl
@Override @Override
public boolean isAir() { public boolean isAir() {
return allayBlockState.getBlockType() == BlockTypes.AIR_TYPE; return allayBlockState.getBlockType() == BlockTypes.AIR;
} }
@Override @Override
@@ -25,7 +25,7 @@ public record AllayBlockType(BlockType<?> allayBlockType) implements com.dfsek.t
@Override @Override
public boolean isWater() { public boolean isWater() {
return allayBlockType == BlockTypes.WATER_TYPE || allayBlockType == BlockTypes.FLOWING_WATER_TYPE; return allayBlockType == BlockTypes.WATER || allayBlockType == BlockTypes.FLOWING_WATER;
} }
@Override @Override
@@ -17,7 +17,7 @@ import com.dfsek.terra.api.world.ServerWorld;
*/ */
public record AllayChunk(ServerWorld world, Chunk allayChunk) implements com.dfsek.terra.api.world.chunk.Chunk { public record AllayChunk(ServerWorld world, Chunk allayChunk) implements com.dfsek.terra.api.world.chunk.Chunk {
private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER_TYPE.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15)); private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15));
@Override @Override
public void setBlock(int x, int y, int z, BlockState data, boolean physics) { public void setBlock(int x, int y, int z, BlockState data, boolean physics) {
@@ -25,7 +25,7 @@ public record AllayChunk(ServerWorld world, Chunk allayChunk) implements com.dfs
var containsWater = allayBlockState.containsWater(); var containsWater = allayBlockState.containsWater();
if (!containsWater) { if (!containsWater) {
var oldBlock = allayChunk.getBlockState(x, y, z); var oldBlock = allayChunk.getBlockState(x, y, z);
containsWater = oldBlock == BlockTypes.WATER_TYPE; containsWater = oldBlock == BlockTypes.WATER;
} }
allayChunk.setBlockState(x, y, z, allayBlockState.allayBlockState()); allayChunk.setBlockState(x, y, z, allayBlockState.allayBlockState());
if (containsWater) allayChunk.setBlockState(x, y, z, WATER, 1); if (containsWater) allayChunk.setBlockState(x, y, z, WATER, 1);
@@ -17,7 +17,7 @@ public final class AllayItemType implements Item {
public AllayItemType(ItemType<?> allayItemType) { public AllayItemType(ItemType<?> allayItemType) {
this.allayItemType = allayItemType; this.allayItemType = allayItemType;
// TODO: 感觉不太优雅,应该有更好的办法 // TODO: 感觉不太优雅,应该有更好的办法
this.maxDurability = allayItemType.createItemStack().getItemAttributes().maxDamage(); this.maxDurability = allayItemType.createItemStack().getItemData().maxDamage();
} }
@Override @Override
@@ -17,7 +17,7 @@ import com.dfsek.terra.api.world.chunk.generation.ProtoChunk;
*/ */
public record AllayProtoChunk(UnsafeChunk allayChunk) implements ProtoChunk { public record AllayProtoChunk(UnsafeChunk allayChunk) implements ProtoChunk {
private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER_TYPE.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15)); private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15));
@Override @Override
public int getMaxHeight() { public int getMaxHeight() {
@@ -30,7 +30,7 @@ public record AllayProtoChunk(UnsafeChunk allayChunk) implements ProtoChunk {
var containsWater = allayBlockState.containsWater(); var containsWater = allayBlockState.containsWater();
if (!containsWater) { if (!containsWater) {
var oldBlock = allayChunk.getBlockState(x, y, z); var oldBlock = allayChunk.getBlockState(x, y, z);
containsWater = oldBlock == BlockTypes.WATER_TYPE; containsWater = oldBlock == BlockTypes.WATER;
} }
allayChunk.setBlockState(x, y, z, allayBlockState.allayBlockState()); allayChunk.setBlockState(x, y, z, allayBlockState.allayBlockState());
if (containsWater) allayChunk.setBlockState(x, y, z, WATER, 1); if (containsWater) allayChunk.setBlockState(x, y, z, WATER, 1);
@@ -24,7 +24,7 @@ import com.dfsek.terra.api.world.chunk.generation.ProtoWorld;
*/ */
public record AllayProtoWorld(AllayServerWorld allayServerWorld, OtherChunkAccessibleContext context) implements ProtoWorld { public record AllayProtoWorld(AllayServerWorld allayServerWorld, OtherChunkAccessibleContext context) implements ProtoWorld {
private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER_TYPE.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15)); private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15));
@Override @Override
public int centerChunkX() { public int centerChunkX() {
@@ -47,7 +47,7 @@ public record AllayProtoWorld(AllayServerWorld allayServerWorld, OtherChunkAcces
var containsWater = allayBlockState.containsWater(); var containsWater = allayBlockState.containsWater();
if (!containsWater) { if (!containsWater) {
var oldBlock = context.getBlockState(x, y, z).getBlockType(); var oldBlock = context.getBlockState(x, y, z).getBlockType();
containsWater = oldBlock == BlockTypes.WATER_TYPE; containsWater = oldBlock == BlockTypes.WATER;
} }
context.setBlockState(x, y, z, allayBlockState.allayBlockState()); context.setBlockState(x, y, z, allayBlockState.allayBlockState());
if (containsWater) context.setBlockState(x, y, z, WATER, 1); if (containsWater) context.setBlockState(x, y, z, WATER, 1);
@@ -26,7 +26,7 @@ import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
*/ */
public record AllayServerWorld(AllayGeneratorWrapper allayGeneratorWrapper, Dimension allayDimension) implements ServerWorld { public record AllayServerWorld(AllayGeneratorWrapper allayGeneratorWrapper, Dimension allayDimension) implements ServerWorld {
private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER_TYPE.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15)); private static final org.allaymc.api.block.type.BlockState WATER = BlockTypes.WATER.ofState(VanillaBlockPropertyTypes.LIQUID_DEPTH.createValue(15));
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
@@ -39,7 +39,7 @@ public record AllayServerWorld(AllayGeneratorWrapper allayGeneratorWrapper, Dime
var containsWater = allayBlockState.containsWater(); var containsWater = allayBlockState.containsWater();
if (!containsWater) { if (!containsWater) {
var oldBlock = allayDimension.getBlockState(x, y, z).getBlockType(); var oldBlock = allayDimension.getBlockState(x, y, z).getBlockType();
containsWater = oldBlock == BlockTypes.WATER_TYPE; containsWater = oldBlock == BlockTypes.WATER;
} }
allayDimension.setBlockState(x, y, z, allayBlockState.allayBlockState()); allayDimension.setBlockState(x, y, z, allayBlockState.allayBlockState());
if (containsWater) allayDimension.setBlockState(x, y, z, WATER, 1); if (containsWater) allayDimension.setBlockState(x, y, z, WATER, 1);