MaterialData is gone

This commit is contained in:
dfsek
2021-02-22 19:47:15 -07:00
parent a328ff2f2a
commit 358bd350b5
52 changed files with 266 additions and 365 deletions
@@ -6,7 +6,6 @@ import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.event.TerraEventManager;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.handle.ItemHandle;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Biome;
@@ -123,7 +122,6 @@ public class StandalonePlugin implements TerraPlugin {
registry
.registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o))
.registerLoader(Biome.class, (t, o, l) -> new RawBiome(o.toString()))
.registerLoader(MaterialData.class, (t, o, l) -> worldHandle.createMaterialData((String) o));
new GenericLoaders(this).register(registry);
}
@@ -1,10 +1,10 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.block.BlockType;
import net.querz.nbt.tag.CompoundTag;
public class Data implements BlockData, MaterialData {
public class Data implements BlockData, BlockType {
private final CompoundTag data;
private final String noProp;
@@ -38,39 +38,20 @@ public class Data implements BlockData, MaterialData {
@Override
public MaterialData getMaterial() {
public BlockType getBlockType() {
return this;
}
@Override
public boolean matches(MaterialData materialData) {
return ((Data) materialData).noProp.equals(noProp);
}
@Override
public boolean matches(BlockData other) {
return ((Data) other).noProp.equals(noProp);
}
@Override
public boolean isSolid() {
return !isAir(); //TODO: actual implementation
}
@Override
public boolean isAir() {
return noProp.equals("minecraft:air");
}
@Override
public double getMaxDurability() {
return 0;
}
@Override
public BlockData createBlockData() {
return this;
}
@Override
public BlockData clone() {
@@ -101,4 +82,14 @@ public class Data implements BlockData, MaterialData {
if(!(obj instanceof Data)) return false;
return ((Data) obj).noProp.equals(noProp);
}
@Override
public BlockData getDefaultData() {
return this;
}
@Override
public boolean isSolid() {
return false;
}
}
@@ -5,7 +5,7 @@ import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.BlockFace;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.block.BlockType;
import com.dfsek.terra.api.platform.block.state.BlockState;
import net.jafama.FastMath;
@@ -56,7 +56,7 @@ public class DirectBlock implements Block {
}
@Override
public MaterialData getType() {
public BlockType getType() {
return new Data(world.getData(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ()));
}
@@ -1,12 +1,10 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.Tree;
import java.util.Collections;
import java.util.Random;
import java.util.Set;
public class RawTree implements Tree { // TODO: implement
@Override
@@ -15,7 +13,7 @@ public class RawTree implements Tree { // TODO: implement
}
@Override
public Set<MaterialData> getSpawnable() {
return Collections.emptySet();
public MaterialSet getSpawnable() {
return MaterialSet.empty();
}
}
@@ -2,7 +2,6 @@ package com.dfsek.terra.platform;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.handle.WorldHandle;
@@ -17,21 +16,11 @@ public class RawWorldHandle implements WorldHandle {
return null;
}
@Override
public MaterialData getType(Block block) {
return null;
}
@Override
public BlockData createBlockData(String data) {
return new Data(data);
}
@Override
public MaterialData createMaterialData(String data) {
return new Data(data);
}
@Override
public EntityType getEntity(String id) {
return null;