BlockData -> BlockState

This commit is contained in:
dfsek
2021-06-25 19:13:42 -07:00
parent 002c7037f1
commit a3cbf9a945
90 changed files with 318 additions and 326 deletions
@@ -3,7 +3,7 @@ package com.dfsek.terra;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.PluginConfig;
import com.dfsek.terra.api.event.EventManager;
@@ -136,7 +136,7 @@ public class StandalonePlugin implements TerraPlugin {
@Override
public void register(TypeRegistry registry) {
registry
.registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o))
.registerLoader(BlockState.class, (t, o, l) -> worldHandle.createBlockData((String) o))
.registerLoader(Biome.class, (t, o, l) -> new RawBiome(o.toString()));
new GenericLoaders(this).register(registry);
}
@@ -1,6 +1,6 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.block.state.BlockEntity;
import com.dfsek.terra.api.vector.Vector3;
@@ -26,7 +26,7 @@ public class DirectBlockEntity implements BlockEntity {
}
@Override
public BlockData getBlockData() {
public BlockState getBlockData() {
return null;
}
@@ -1,6 +1,6 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.ChunkData;
import net.querz.mca.Chunk;
@@ -31,19 +31,19 @@ public class DirectChunkData implements ChunkData, com.dfsek.terra.api.world.Chu
}
@Override
public void setBlock(int x, int y, int z, @NotNull BlockData blockData) {
delegate.setBlockStateAt(x, y, z, ((Data) blockData).getHandle(), false);
public void setBlock(int x, int y, int z, @NotNull BlockState blockState) {
delegate.setBlockStateAt(x, y, z, ((State) blockState).getHandle(), false);
}
@Override
public @NotNull BlockData getBlock(int x, int y, int z) {
public @NotNull BlockState getBlock(int x, int y, int z) {
CompoundTag tag = delegate.getBlockStateAt(x, y, z);
if(tag == null) return new Data("minecraft:air");
return new Data(tag.getString("Name"));
if(tag == null) return new State("minecraft:air");
return new State(tag.getString("Name"));
}
@Override
public void setBlock(int x, int y, int z, BlockData data, boolean physics) {
public void setBlock(int x, int y, int z, BlockState data, boolean physics) {
setBlock(x, y, z, data);
}
@@ -1,7 +1,7 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.DirectUtils;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.block.state.BlockEntity;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.entity.EntityType;
@@ -57,12 +57,12 @@ public class DirectWorld implements World {
}
@Override
public BlockData getBlockData(int x, int y, int z) {
public BlockState getBlockData(int x, int y, int z) {
return null;
}
@Override
public void setBlockData(int x, int y, int z, BlockData data, boolean physics) {
public void setBlockData(int x, int y, int z, BlockState data, boolean physics) {
}
@@ -1,14 +1,14 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.handle.WorldHandle;
public class RawWorldHandle implements WorldHandle {
@Override
public BlockData createBlockData(String data) {
return new Data(data);
public BlockState createBlockData(String data) {
return new State(data);
}
@Override
@@ -1,14 +1,14 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockState;
import com.dfsek.terra.api.block.BlockType;
import net.querz.nbt.tag.CompoundTag;
public class Data implements BlockData, BlockType {
public class State implements BlockState, BlockType {
private final CompoundTag data;
private final String noProp;
public Data(String data) {
public State(String data) {
this.data = new CompoundTag();
if(data.contains("[")) {
noProp = data.substring(0, data.indexOf('[')); // Strip properties
@@ -26,7 +26,7 @@ public class Data implements BlockData, BlockType {
this.data.putString("Name", noProp);
}
public Data(CompoundTag tag) {
public State(CompoundTag tag) {
if(tag == null) {
this.data = new CompoundTag();
data.putString("Name", "minecraft:air");
@@ -43,8 +43,8 @@ public class Data implements BlockData, BlockType {
}
@Override
public boolean matches(BlockData other) {
return ((Data) other).noProp.equals(noProp);
public boolean matches(BlockState other) {
return ((State) other).noProp.equals(noProp);
}
@Override
@@ -59,9 +59,9 @@ public class Data implements BlockData, BlockType {
@Override
public BlockData clone() {
public BlockState clone() {
try {
return (BlockData) super.clone();
return (BlockState) super.clone();
} catch(CloneNotSupportedException e) {
throw new Error(e);
}
@@ -84,12 +84,12 @@ public class Data implements BlockData, BlockType {
@Override
public boolean equals(Object obj) {
if(!(obj instanceof Data)) return false;
return ((Data) obj).noProp.equals(noProp);
if(!(obj instanceof State)) return false;
return ((State) obj).noProp.equals(noProp);
}
@Override
public BlockData getDefaultData() {
public BlockState getDefaultData() {
return this;
}