mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-19 23:00:19 +00:00
BlockData -> BlockState
This commit is contained in:
@@ -8,7 +8,7 @@ import com.dfsek.terra.api.addon.TerraAddon;
|
||||
import com.dfsek.terra.api.addon.annotations.Addon;
|
||||
import com.dfsek.terra.api.addon.annotations.Author;
|
||||
import com.dfsek.terra.api.addon.annotations.Version;
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.command.CommandManager;
|
||||
import com.dfsek.terra.api.command.TerraCommandManager;
|
||||
import com.dfsek.terra.api.command.exception.MalformedCommandException;
|
||||
@@ -302,7 +302,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
||||
@Override
|
||||
public void register(TypeRegistry registry) {
|
||||
registry
|
||||
.registerLoader(BlockData.class, (t, o, l) -> handle.createBlockData((String) o))
|
||||
.registerLoader(BlockState.class, (t, o, l) -> handle.createBlockData((String) o))
|
||||
.registerLoader(Biome.class, (t, o, l) -> parseBiome((String) o))
|
||||
.registerLoader(EntityType.class, (t, o, l) -> EntityType.valueOf((String) o));
|
||||
genericLoaders.register(registry);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.dfsek.terra.bukkit.generator;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.world.generator.ChunkData;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -38,14 +38,14 @@ public class BukkitChunkGenerator implements com.dfsek.terra.api.world.generator
|
||||
|
||||
|
||||
@Override
|
||||
public void setBlock(int x, int y, int z, @NotNull BlockData blockData) {
|
||||
delegate.setBlock(x, y, z, ((BukkitBlockData) blockData).getHandle());
|
||||
public void setBlock(int x, int y, int z, @NotNull BlockState blockState) {
|
||||
delegate.setBlock(x, y, z, ((BukkitBlockState) blockState).getHandle());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public @NotNull BlockData getBlock(int x, int y, int z) {
|
||||
return BukkitBlockData.newInstance(delegate.getBlockData(x, y, z));
|
||||
public @NotNull BlockState getBlock(int x, int y, int z) {
|
||||
return BukkitBlockState.newInstance(delegate.getBlockData(x, y, z));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.bukkit.handles;
|
||||
|
||||
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.entity.Player;
|
||||
import com.dfsek.terra.api.handle.WorldHandle;
|
||||
@@ -8,16 +8,16 @@ import com.dfsek.terra.api.util.generic.pair.Pair;
|
||||
import com.dfsek.terra.api.vector.Vector3;
|
||||
import com.dfsek.terra.bukkit.structure.WorldEditUtil;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
|
||||
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
public class BukkitWorldHandle implements WorldHandle {
|
||||
|
||||
@Override
|
||||
public BlockData createBlockData(String data) {
|
||||
public BlockState createBlockData(String data) {
|
||||
org.bukkit.block.data.BlockData bukkitData = Bukkit.createBlockData(data);
|
||||
return BukkitBlockData.newInstance(bukkitData);
|
||||
return BukkitBlockState.newInstance(bukkitData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.dfsek.terra.bukkit.world;
|
||||
|
||||
|
||||
import com.dfsek.terra.api.block.Axis;
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.api.block.data.Bisected;
|
||||
@@ -22,7 +22,7 @@ import com.dfsek.terra.bukkit.BukkitCommandSender;
|
||||
import com.dfsek.terra.bukkit.BukkitEntity;
|
||||
import com.dfsek.terra.bukkit.BukkitPlayer;
|
||||
import com.dfsek.terra.bukkit.world.block.BukkitBlockTypeAndItem;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
|
||||
import com.dfsek.terra.bukkit.world.inventory.BukkitItemStack;
|
||||
import com.dfsek.terra.bukkit.world.inventory.meta.BukkitEnchantment;
|
||||
import com.dfsek.terra.vector.Vector3Impl;
|
||||
@@ -67,12 +67,12 @@ public final class BukkitAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
public static BlockData adapt(org.bukkit.block.data.BlockData data) {
|
||||
return BukkitBlockData.newInstance(data);
|
||||
public static BlockState adapt(org.bukkit.block.data.BlockData data) {
|
||||
return BukkitBlockState.newInstance(data);
|
||||
}
|
||||
|
||||
public static org.bukkit.block.data.BlockData adapt(BlockData data) {
|
||||
return ((BukkitBlockData) data).getHandle();
|
||||
public static org.bukkit.block.data.BlockData adapt(BlockState data) {
|
||||
return ((BukkitBlockState) data).getHandle();
|
||||
}
|
||||
|
||||
public static Axis adapt(org.bukkit.Axis axis) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.bukkit.world;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.world.Chunk;
|
||||
import com.dfsek.terra.api.world.World;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -33,17 +33,17 @@ public class BukkitChunk implements Chunk {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlock(int x, int y, int z, @NotNull BlockData blockData) {
|
||||
delegate.getBlock(x, y, z).setBlockData(BukkitAdapter.adapt(blockData));
|
||||
public void setBlock(int x, int y, int z, @NotNull BlockState blockState) {
|
||||
delegate.getBlock(x, y, z).setBlockData(BukkitAdapter.adapt(blockState));
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull BlockData getBlock(int x, int y, int z) {
|
||||
public @NotNull BlockState getBlock(int x, int y, int z) {
|
||||
return BukkitAdapter.adapt(delegate.getBlock(x, y, z).getBlockData());
|
||||
}
|
||||
|
||||
@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) {
|
||||
delegate.getBlock(x, y, z).setBlockData(BukkitAdapter.adapt(data), physics);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.bukkit.world;
|
||||
|
||||
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;
|
||||
@@ -56,12 +56,12 @@ public class BukkitWorld implements World {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData getBlockData(int x, int y, int z) {
|
||||
public BlockState getBlockData(int x, int y, int z) {
|
||||
return BukkitAdapter.adapt(delegate.getBlockAt(x, y, z).getBlockData());
|
||||
}
|
||||
|
||||
@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) {
|
||||
delegate.getBlockAt(x, y, z).setBlockData(BukkitAdapter.adapt(data), physics);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.bukkit.world.block;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.api.inventory.Item;
|
||||
import com.dfsek.terra.api.inventory.ItemStack;
|
||||
@@ -20,7 +20,7 @@ public class BukkitBlockTypeAndItem implements BlockType, Item {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData getDefaultData() {
|
||||
public BlockState getDefaultData() {
|
||||
return BukkitAdapter.adapt(delegate.createBlockData());
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.data.AnaloguePowerable;
|
||||
|
||||
public class BukkitAnaloguePowerable extends BukkitBlockData implements AnaloguePowerable {
|
||||
public class BukkitAnaloguePowerable extends BukkitBlockState implements AnaloguePowerable {
|
||||
public BukkitAnaloguePowerable(org.bukkit.block.data.AnaloguePowerable delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.bukkit.world.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
@@ -17,14 +17,14 @@ import org.bukkit.block.data.type.Slab;
|
||||
import org.bukkit.block.data.type.Stairs;
|
||||
import org.bukkit.block.data.type.Wall;
|
||||
|
||||
public class BukkitBlockData implements BlockData {
|
||||
public class BukkitBlockState implements BlockState {
|
||||
private org.bukkit.block.data.BlockData delegate;
|
||||
|
||||
protected BukkitBlockData(org.bukkit.block.data.BlockData delegate) {
|
||||
protected BukkitBlockState(org.bukkit.block.data.BlockData delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
public static BukkitBlockData newInstance(org.bukkit.block.data.BlockData bukkitData) {
|
||||
public static BukkitBlockState newInstance(org.bukkit.block.data.BlockData bukkitData) {
|
||||
|
||||
if(bukkitData instanceof Rail) return new BukkitRail((Rail) bukkitData);
|
||||
if(bukkitData instanceof Stairs) return new BukkitStairs((Stairs) bukkitData);
|
||||
@@ -43,7 +43,7 @@ public class BukkitBlockData implements BlockData {
|
||||
|
||||
if(bukkitData instanceof Waterlogged) return new BukkitWaterlogged((Waterlogged) bukkitData);
|
||||
|
||||
return new BukkitBlockData(bukkitData);
|
||||
return new BukkitBlockState(bukkitData);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,14 +58,14 @@ public class BukkitBlockData implements BlockData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(BlockData data) {
|
||||
return delegate.getMaterial() == ((BukkitBlockData) data).getHandle().getMaterial();
|
||||
public boolean matches(BlockState data) {
|
||||
return delegate.getMaterial() == ((BukkitBlockState) data).getHandle().getMaterial();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BukkitBlockData clone() {
|
||||
public BukkitBlockState clone() {
|
||||
try {
|
||||
BukkitBlockData n = (BukkitBlockData) super.clone();
|
||||
BukkitBlockState n = (BukkitBlockState) super.clone();
|
||||
n.delegate = delegate.clone();
|
||||
return n;
|
||||
} catch(CloneNotSupportedException e) {
|
||||
@@ -4,7 +4,7 @@ import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.Directional;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
|
||||
public class BukkitDirectional extends BukkitBlockData implements Directional {
|
||||
public class BukkitDirectional extends BukkitBlockState implements Directional {
|
||||
public BukkitDirectional(org.bukkit.block.data.Directional delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class BukkitMultipleFacing extends BukkitBlockData implements MultipleFacing {
|
||||
public class BukkitMultipleFacing extends BukkitBlockState implements MultipleFacing {
|
||||
|
||||
public BukkitMultipleFacing(org.bukkit.block.data.MultipleFacing delegate) {
|
||||
super(delegate);
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class BukkitOrientable extends BukkitBlockData implements Orientable {
|
||||
public class BukkitOrientable extends BukkitBlockState implements Orientable {
|
||||
|
||||
public BukkitOrientable(org.bukkit.block.data.Orientable delegate) {
|
||||
super(delegate);
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.dfsek.terra.bukkit.world.block.data;
|
||||
import com.dfsek.terra.api.block.data.Rail;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
|
||||
public class BukkitRail extends BukkitBlockData implements Rail {
|
||||
public class BukkitRail extends BukkitBlockState implements Rail {
|
||||
public BukkitRail(org.bukkit.block.data.Rail delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.Rotatable;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
|
||||
public class BukkitRotatable extends BukkitBlockData implements Rotatable {
|
||||
public class BukkitRotatable extends BukkitBlockState implements Rotatable {
|
||||
public BukkitRotatable(org.bukkit.block.data.Rotatable delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.Stairs;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
|
||||
public class BukkitStairs extends BukkitBlockData implements Stairs {
|
||||
public class BukkitStairs extends BukkitBlockState implements Stairs {
|
||||
|
||||
public BukkitStairs(org.bukkit.block.data.type.Stairs delegate) {
|
||||
super(delegate);
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.data.Waterlogged;
|
||||
|
||||
public class BukkitWaterlogged extends BukkitBlockData implements Waterlogged {
|
||||
public class BukkitWaterlogged extends BukkitBlockState implements Waterlogged {
|
||||
public BukkitWaterlogged(org.bukkit.block.data.Waterlogged delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.dfsek.terra.bukkit.world.block.state;
|
||||
|
||||
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;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
|
||||
import org.bukkit.block.Container;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.block.Sign;
|
||||
@@ -49,8 +49,8 @@ public class BukkitBlockEntity implements BlockEntity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData getBlockData() {
|
||||
return BukkitBlockData.newInstance(delegate.getBlockData());
|
||||
public BlockState getBlockData() {
|
||||
return BukkitBlockState.newInstance(delegate.getBlockData());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.dfsek.terra.api.addon.TerraAddon;
|
||||
import com.dfsek.terra.api.addon.annotations.Addon;
|
||||
import com.dfsek.terra.api.addon.annotations.Author;
|
||||
import com.dfsek.terra.api.addon.annotations.Version;
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.command.CommandManager;
|
||||
import com.dfsek.terra.api.command.TerraCommandManager;
|
||||
import com.dfsek.terra.api.command.exception.MalformedCommandException;
|
||||
@@ -235,7 +235,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
|
||||
public void register(TypeRegistry registry) {
|
||||
genericLoaders.register(registry);
|
||||
registry
|
||||
.registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o))
|
||||
.registerLoader(BlockState.class, (t, o, l) -> worldHandle.createBlockData((String) o))
|
||||
.registerLoader(com.dfsek.terra.api.world.biome.Biome.class, (t, o, l) -> parseBiome((String) o))
|
||||
.registerLoader(Identifier.class, (t, o, l) -> {
|
||||
Identifier identifier = Identifier.tryParse((String) o);
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
package com.dfsek.terra.fabric.block;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.fabric.mixin.access.StateAccessor;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class FabricBlockData implements BlockData {
|
||||
protected BlockState delegate;
|
||||
public class FabricBlockState implements BlockState {
|
||||
protected net.minecraft.block.BlockState delegate;
|
||||
|
||||
public FabricBlockData(BlockState delegate) {
|
||||
public FabricBlockState(net.minecraft.block.BlockState delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@@ -22,14 +21,14 @@ public class FabricBlockData implements BlockData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(BlockData other) {
|
||||
return delegate.getBlock() == ((FabricBlockData) other).delegate.getBlock();
|
||||
public boolean matches(BlockState other) {
|
||||
return delegate.getBlock() == ((FabricBlockState) other).delegate.getBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData clone() {
|
||||
public BlockState clone() {
|
||||
try {
|
||||
return (FabricBlockData) super.clone();
|
||||
return (FabricBlockState) super.clone();
|
||||
} catch(CloneNotSupportedException e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
@@ -57,7 +56,7 @@ public class FabricBlockData implements BlockData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getHandle() {
|
||||
public net.minecraft.block.BlockState getHandle() {
|
||||
return delegate;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.data.AnaloguePowerable;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.block.BlockState;
|
||||
|
||||
/**
|
||||
* None of this actually has implementation, TODO: implement this if we ever end up needing it.
|
||||
*/
|
||||
public class FabricAnaloguePowerable extends FabricBlockData implements AnaloguePowerable {
|
||||
public class FabricAnaloguePowerable extends FabricBlockState implements AnaloguePowerable {
|
||||
public FabricAnaloguePowerable(BlockState delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.Directional;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.util.FabricAdapter;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.property.DirectionProperty;
|
||||
|
||||
public class FabricDirectional extends FabricBlockData implements Directional {
|
||||
public class FabricDirectional extends FabricBlockState implements Directional {
|
||||
private final DirectionProperty property;
|
||||
|
||||
public FabricDirectional(BlockState delegate, DirectionProperty property) {
|
||||
|
||||
@@ -2,14 +2,14 @@ package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.MultipleFacing;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.property.Properties;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class FabricMultipleFacing extends FabricBlockData implements MultipleFacing {
|
||||
public class FabricMultipleFacing extends FabricBlockState implements MultipleFacing {
|
||||
public FabricMultipleFacing(BlockState delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.Axis;
|
||||
import com.dfsek.terra.api.block.data.Orientable;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.util.FabricAdapter;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.property.EnumProperty;
|
||||
@@ -12,7 +12,7 @@ import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class FabricOrientable extends FabricBlockData implements Orientable {
|
||||
public class FabricOrientable extends FabricBlockState implements Orientable {
|
||||
private final EnumProperty<Direction.Axis> property;
|
||||
|
||||
public FabricOrientable(BlockState delegate, EnumProperty<Direction.Axis> property) {
|
||||
|
||||
@@ -2,11 +2,11 @@ package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockFace;
|
||||
import com.dfsek.terra.api.block.data.Rotatable;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.property.Properties;
|
||||
|
||||
public class FabricRotatable extends FabricBlockData implements Rotatable {
|
||||
public class FabricRotatable extends FabricBlockState implements Rotatable {
|
||||
public FabricRotatable(BlockState delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.dfsek.terra.fabric.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.data.Waterlogged;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.property.Properties;
|
||||
|
||||
public class FabricWaterlogged extends FabricBlockData implements Waterlogged {
|
||||
public class FabricWaterlogged extends FabricBlockState implements Waterlogged {
|
||||
public FabricWaterlogged(BlockState delegate) {
|
||||
super(delegate);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.dfsek.terra.api.world.generator.GeneratorWrapper;
|
||||
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
|
||||
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
|
||||
import com.dfsek.terra.fabric.TerraFabricPlugin;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor;
|
||||
import com.dfsek.terra.fabric.util.FabricAdapter;
|
||||
import com.dfsek.terra.world.generation.generators.DefaultChunkGenerator3D;
|
||||
@@ -177,7 +177,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
|
||||
public int getHeight(int x, int z, Heightmap.Type heightmap, HeightLimitView heightmapType) {
|
||||
TerraWorld world = TerraFabricPlugin.getInstance().getWorld(dimensionType);
|
||||
int height = world.getWorld().getMaxHeight();
|
||||
while(height >= world.getWorld().getMinHeight() && !heightmap.getBlockPredicate().test(((FabricBlockData) world.getUngeneratedBlock(x, height - 1, z)).getHandle())) {
|
||||
while(height >= world.getWorld().getMinHeight() && !heightmap.getBlockPredicate().test(((FabricBlockState) world.getUngeneratedBlock(x, height - 1, z)).getHandle())) {
|
||||
height--;
|
||||
}
|
||||
return height;
|
||||
@@ -188,7 +188,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
|
||||
TerraWorld world = TerraFabricPlugin.getInstance().getWorld(dimensionType);
|
||||
BlockState[] array = new BlockState[view.getHeight()];
|
||||
for(int y = view.getBottomY() + view.getHeight() - 1; y >= view.getBottomY(); y--) {
|
||||
array[y] = ((FabricBlockData) world.getUngeneratedBlock(x, y, z)).getHandle();
|
||||
array[y] = ((FabricBlockState) world.getUngeneratedBlock(x, y, z)).getHandle();
|
||||
}
|
||||
return new VerticalBlockSample(view.getBottomY(), array);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.dfsek.terra.api.entity.Player;
|
||||
import com.dfsek.terra.api.handle.WorldHandle;
|
||||
import com.dfsek.terra.api.util.generic.pair.Pair;
|
||||
import com.dfsek.terra.api.vector.Vector3;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.util.FabricAdapter;
|
||||
import com.dfsek.terra.fabric.util.WorldEditUtil;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
@@ -20,7 +20,7 @@ import java.util.Locale;
|
||||
public class FabricWorldHandle implements WorldHandle {
|
||||
|
||||
@Override
|
||||
public FabricBlockData createBlockData(String data) {
|
||||
public FabricBlockState createBlockData(String data) {
|
||||
BlockArgumentParser parser = new BlockArgumentParser(new StringReader(data), true);
|
||||
try {
|
||||
BlockState state = parser.parse(true).getBlockState();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.block;
|
||||
|
||||
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.fabric.util.FabricAdapter;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@@ -46,7 +46,7 @@ public abstract class BlockEntityMixin {
|
||||
return pos.getZ();
|
||||
}
|
||||
|
||||
public BlockData terra$getBlockData() {
|
||||
public BlockState terra$getBlockData() {
|
||||
return FabricAdapter.adapt(getCachedState());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.block;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.fabric.util.FabricAdapter;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import org.spongepowered.asm.mixin.Implements;
|
||||
import org.spongepowered.asm.mixin.Interface;
|
||||
@@ -16,14 +15,14 @@ import org.spongepowered.asm.mixin.Shadow;
|
||||
@Implements(@Interface(iface = BlockType.class, prefix = "terra$", remap = Interface.Remap.NONE))
|
||||
public abstract class BlockMixin {
|
||||
@Shadow
|
||||
private BlockState defaultState;
|
||||
private net.minecraft.block.BlockState defaultState;
|
||||
|
||||
@Intrinsic
|
||||
public Object terra$getHandle() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BlockData terra$getDefaultData() {
|
||||
public BlockState terra$getDefaultData() {
|
||||
return FabricAdapter.adapt(defaultState);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.chunk;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.world.Chunk;
|
||||
import com.dfsek.terra.api.world.World;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.world.ChunkRegion;
|
||||
@@ -33,12 +33,12 @@ public abstract class ChunkRegionMixin {
|
||||
return (World) this;
|
||||
}
|
||||
|
||||
public @NotNull BlockData terraChunk$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockData(((ChunkRegion) (Object) this).getBlockState(new BlockPos(x + (centerPos.x << 4), y, z + (centerPos.z << 4))));
|
||||
public @NotNull BlockState terraChunk$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockState(((ChunkRegion) (Object) this).getBlockState(new BlockPos(x + (centerPos.x << 4), y, z + (centerPos.z << 4))));
|
||||
}
|
||||
|
||||
public void terraChunk$setBlock(int x, int y, int z, @NotNull BlockData blockData, boolean physics) {
|
||||
((ChunkRegion) (Object) this).setBlockState(new BlockPos(x + (centerPos.x << 4), y, z + (centerPos.z << 4)), ((FabricBlockData) blockData).getHandle(), 0);
|
||||
public void terraChunk$setBlock(int x, int y, int z, @NotNull BlockState blockState, boolean physics) {
|
||||
((ChunkRegion) (Object) this).setBlockState(new BlockPos(x + (centerPos.x << 4), y, z + (centerPos.z << 4)), ((FabricBlockState) blockState).getHandle(), 0);
|
||||
}
|
||||
|
||||
// getHandle already added in world/ChunkRegionMixin.
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.chunk;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.world.Chunk;
|
||||
import com.dfsek.terra.api.world.World;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import net.minecraft.block.BlockState;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.chunk.WorldChunk;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -24,11 +23,11 @@ public abstract class WorldChunkMixin {
|
||||
private net.minecraft.world.World world;
|
||||
|
||||
@Shadow
|
||||
public abstract BlockState getBlockState(BlockPos pos);
|
||||
public abstract net.minecraft.block.BlockState getBlockState(BlockPos pos);
|
||||
|
||||
@Shadow
|
||||
@Nullable
|
||||
public abstract BlockState setBlockState(BlockPos pos, BlockState state, boolean moved);
|
||||
public abstract net.minecraft.block.BlockState setBlockState(BlockPos pos, net.minecraft.block.BlockState state, boolean moved);
|
||||
|
||||
public int terra$getX() {
|
||||
return ((net.minecraft.world.chunk.Chunk) this).getPos().x;
|
||||
@@ -42,16 +41,16 @@ public abstract class WorldChunkMixin {
|
||||
return (World) world;
|
||||
}
|
||||
|
||||
public @NotNull BlockData terra$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockData(getBlockState(new BlockPos(x, y, z)));
|
||||
public @NotNull BlockState terra$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockState(getBlockState(new BlockPos(x, y, z)));
|
||||
}
|
||||
|
||||
public void terra$setBlock(int x, int y, int z, BlockData data, boolean physics) {
|
||||
setBlockState(new BlockPos(x, y, z), ((FabricBlockData) data).getHandle(), false);
|
||||
public void terra$setBlock(int x, int y, int z, BlockState data, boolean physics) {
|
||||
setBlockState(new BlockPos(x, y, z), ((FabricBlockState) data).getHandle(), false);
|
||||
}
|
||||
|
||||
public void terra$setBlock(int x, int y, int z, @NotNull BlockData blockData) {
|
||||
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockData) blockData).getHandle(), false);
|
||||
public void terra$setBlock(int x, int y, int z, @NotNull BlockState blockState) {
|
||||
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockState) blockState).getHandle(), false);
|
||||
}
|
||||
|
||||
@Intrinsic
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.chunk.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.world.generator.ChunkData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import net.minecraft.block.BlockState;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.chunk.ProtoChunk;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -17,14 +16,14 @@ import org.spongepowered.asm.mixin.Shadow;
|
||||
@Implements(@Interface(iface = ChunkData.class, prefix = "terra$", remap = Interface.Remap.NONE))
|
||||
public abstract class ProtoChunkMixin {
|
||||
@Shadow
|
||||
public abstract BlockState getBlockState(BlockPos pos);
|
||||
public abstract net.minecraft.block.BlockState getBlockState(BlockPos pos);
|
||||
|
||||
public @NotNull BlockData terra$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockData(getBlockState(new BlockPos(x, y, z)));
|
||||
public @NotNull BlockState terra$getBlock(int x, int y, int z) {
|
||||
return new FabricBlockState(getBlockState(new BlockPos(x, y, z)));
|
||||
}
|
||||
|
||||
public void terra$setBlock(int x, int y, int z, @NotNull BlockData blockData) {
|
||||
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockData) blockData).getHandle(), false);
|
||||
public void terra$setBlock(int x, int y, int z, @NotNull BlockState blockState) {
|
||||
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockState) blockState).getHandle(), false);
|
||||
}
|
||||
|
||||
@Intrinsic
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.world;
|
||||
|
||||
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;
|
||||
@@ -10,10 +10,9 @@ import com.dfsek.terra.api.world.World;
|
||||
import com.dfsek.terra.api.world.generator.ChunkGenerator;
|
||||
import com.dfsek.terra.api.world.generator.GeneratorWrapper;
|
||||
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
|
||||
import com.dfsek.terra.fabric.util.FabricUtil;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.FluidBlock;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
@@ -41,7 +40,7 @@ public abstract class ChunkRegionMixin {
|
||||
private long seed;
|
||||
|
||||
@Shadow
|
||||
public abstract boolean setBlockState(BlockPos pos, BlockState state, int flags, int maxUpdateDepth);
|
||||
public abstract boolean setBlockState(BlockPos pos, net.minecraft.block.BlockState state, int flags, int maxUpdateDepth);
|
||||
|
||||
@Shadow
|
||||
public abstract TickScheduler<Fluid> getFluidTickScheduler();
|
||||
@@ -72,17 +71,17 @@ public abstract class ChunkRegionMixin {
|
||||
}
|
||||
|
||||
@Intrinsic(displace = true)
|
||||
public BlockData terraWorld$getBlockData(int x, int y, int z) {
|
||||
public BlockState terraWorld$getBlockData(int x, int y, int z) {
|
||||
BlockPos pos = new BlockPos(x, y, z);
|
||||
return new FabricBlockData(((ChunkRegion) (Object) this).getBlockState(pos));
|
||||
return new FabricBlockState(((ChunkRegion) (Object) this).getBlockState(pos));
|
||||
}
|
||||
|
||||
@Intrinsic(displace = true)
|
||||
public void terraWorld$setBlockData(int x, int y, int z, BlockData data, boolean physics) {
|
||||
public void terraWorld$setBlockData(int x, int y, int z, BlockState data, boolean physics) {
|
||||
BlockPos pos = new BlockPos(x, y, z);
|
||||
((ChunkRegion) (Object) this).setBlockState(pos, ((FabricBlockData) data).getHandle(), physics ? 3 : 1042);
|
||||
if(physics && ((FabricBlockData) data).getHandle().getBlock() instanceof FluidBlock) {
|
||||
getFluidTickScheduler().schedule(pos, ((FluidBlock) ((FabricBlockData) data).getHandle().getBlock()).getFluidState(((FabricBlockData) data).getHandle()).getFluid(), 0);
|
||||
((ChunkRegion) (Object) this).setBlockState(pos, ((FabricBlockState) data).getHandle(), physics ? 3 : 1042);
|
||||
if(physics && ((FabricBlockState) data).getHandle().getBlock() instanceof FluidBlock) {
|
||||
getFluidTickScheduler().schedule(pos, ((FluidBlock) ((FabricBlockState) data).getHandle().getBlock()).getFluidState(((FabricBlockState) data).getHandle()).getFluid(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.dfsek.terra.fabric.mixin.implementations.world;
|
||||
|
||||
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;
|
||||
@@ -10,7 +10,7 @@ import com.dfsek.terra.api.world.World;
|
||||
import com.dfsek.terra.api.world.generator.ChunkGenerator;
|
||||
import com.dfsek.terra.api.world.generator.GeneratorWrapper;
|
||||
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
|
||||
import com.dfsek.terra.fabric.util.FabricUtil;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
@@ -45,13 +45,13 @@ public abstract class ServerWorldMixin {
|
||||
return FabricUtil.createState((WorldAccess) this, new BlockPos(x, y, z));
|
||||
}
|
||||
|
||||
public BlockData terra$getBlockData(int x, int y, int z) {
|
||||
return new FabricBlockData(((ServerWorld) (Object) this).getBlockState(new BlockPos(x, y, z)));
|
||||
public BlockState terra$getBlockData(int x, int y, int z) {
|
||||
return new FabricBlockState(((ServerWorld) (Object) this).getBlockState(new BlockPos(x, y, z)));
|
||||
}
|
||||
|
||||
public void terra$setBlockData(int x, int y, int z, BlockData data, boolean physics) {
|
||||
public void terra$setBlockData(int x, int y, int z, BlockState data, boolean physics) {
|
||||
BlockPos pos = new BlockPos(x, y, z);
|
||||
((ServerWorld) (Object) this).setBlockState(pos, ((FabricBlockData) data).getHandle(), physics ? 3 : 1042);
|
||||
((ServerWorld) (Object) this).setBlockState(pos, ((FabricBlockState) data).getHandle(), physics ? 3 : 1042);
|
||||
}
|
||||
|
||||
public Entity terra$spawnEntity(Vector3 location, EntityType entityType) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.dfsek.terra.api.block.data.Bisected;
|
||||
import com.dfsek.terra.api.block.data.Slab;
|
||||
import com.dfsek.terra.api.block.data.Stairs;
|
||||
import com.dfsek.terra.api.vector.Vector3;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockData;
|
||||
import com.dfsek.terra.fabric.block.FabricBlockState;
|
||||
import com.dfsek.terra.fabric.block.data.FabricDirectional;
|
||||
import com.dfsek.terra.fabric.block.data.FabricMultipleFacing;
|
||||
import com.dfsek.terra.fabric.block.data.FabricOrientable;
|
||||
@@ -34,7 +34,7 @@ public final class FabricAdapter {
|
||||
return new Vector3Impl(pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
public static FabricBlockData adapt(BlockState state) {
|
||||
public static FabricBlockState adapt(BlockState state) {
|
||||
if(state.contains(Properties.STAIR_SHAPE)) return new FabricStairs(state);
|
||||
|
||||
if(state.contains(Properties.SLAB_TYPE)) return new FabricSlab(state);
|
||||
@@ -51,7 +51,7 @@ public final class FabricAdapter {
|
||||
if(state.getProperties().containsAll(Arrays.asList(Properties.NORTH, Properties.SOUTH, Properties.EAST, Properties.WEST)))
|
||||
return new FabricMultipleFacing(state);
|
||||
if(state.contains(Properties.WATERLOGGED)) return new FabricWaterlogged(state);
|
||||
return new FabricBlockData(state);
|
||||
return new FabricBlockState(state);
|
||||
}
|
||||
|
||||
public static Direction adapt(BlockFace face) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
package com.dfsek.terra.sponge;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.sponge.world.block.data.SpongeBlockData;
|
||||
import org.spongepowered.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.sponge.world.block.data.SpongeBlockState;
|
||||
|
||||
public final class SpongeAdapter {
|
||||
public static BlockData adapt(BlockState state) {
|
||||
return new SpongeBlockData(state);
|
||||
public static BlockState adapt(org.spongepowered.api.block.BlockState state) {
|
||||
return new SpongeBlockState(state);
|
||||
}
|
||||
|
||||
public static BlockState adapt(BlockData data) {
|
||||
return ((SpongeBlockData) data).getHandle();
|
||||
public static org.spongepowered.api.block.BlockState adapt(BlockState data) {
|
||||
return ((SpongeBlockState) data).getHandle();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.dfsek.terra.sponge.world;
|
||||
|
||||
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;
|
||||
import com.dfsek.terra.sponge.SpongeAdapter;
|
||||
import org.spongepowered.api.Sponge;
|
||||
import org.spongepowered.api.block.BlockState;
|
||||
|
||||
public class SpongeWorldHandle implements WorldHandle {
|
||||
@Override
|
||||
public BlockData createBlockData(String data) {
|
||||
return SpongeAdapter.adapt(Sponge.getRegistry().getType(BlockState.class, data).orElseThrow(() -> new IllegalArgumentException("Invalid block data \"" + data + "\"")));
|
||||
public BlockState createBlockData(String data) {
|
||||
return SpongeAdapter.adapt(Sponge.getRegistry().getType(org.spongepowered.api.block.BlockState.class, data).orElseThrow(() -> new IllegalArgumentException("Invalid block data \"" + data + "\"")));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
package com.dfsek.terra.sponge.world.block.data;
|
||||
|
||||
import com.dfsek.terra.api.block.BlockData;
|
||||
import com.dfsek.terra.api.block.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import org.spongepowered.api.block.BlockState;
|
||||
|
||||
public class SpongeBlockData implements BlockData {
|
||||
private final BlockState delegate;
|
||||
public class SpongeBlockState implements BlockState {
|
||||
private final org.spongepowered.api.block.BlockState delegate;
|
||||
|
||||
public SpongeBlockData(BlockState delegate) {
|
||||
public SpongeBlockState(org.spongepowered.api.block.BlockState delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getHandle() {
|
||||
public org.spongepowered.api.block.BlockState getHandle() {
|
||||
return delegate;
|
||||
}
|
||||
|
||||
@@ -22,12 +21,12 @@ public class SpongeBlockData implements BlockData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(BlockData other) {
|
||||
public boolean matches(BlockState other) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData clone() {
|
||||
public BlockState clone() {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user