diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java index 9fa65db93..0b880cb18 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java @@ -20,12 +20,15 @@ package com.sk89q.worldedit.bukkit; import com.sk89q.worldedit.blocks.BlockMaterial; +import com.sk89q.worldedit.registry.state.Property; +import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.registry.BundledBlockRegistry; import com.sk89q.worldedit.world.registry.PassthroughBlockMaterial; import org.bukkit.Material; import java.util.EnumMap; +import java.util.List; import java.util.Map; import javax.annotation.Nullable; @@ -41,6 +44,23 @@ public class BukkitBlockRegistry extends BundledBlockRegistry { material -> new BukkitBlockMaterial(BukkitBlockRegistry.super.getMaterial(id), material)); } + @Override + public List getPropertyValues(BlockType blockType, Property property) { + if (WorldEditPlugin.getInstance().getBukkitImplAdapter() != null) { + return WorldEditPlugin.getInstance().getBukkitImplAdapter().getPropertyValues(blockType, property); + } + return super.getPropertyValues(blockType, property); + } + + @Nullable + @Override + public Map getProperties(BlockType blockType) { + if (WorldEditPlugin.getInstance().getBukkitImplAdapter() != null) { + return WorldEditPlugin.getInstance().getBukkitImplAdapter().getProperties(blockType); + } + return super.getProperties(blockType); + } + public static class BukkitBlockMaterial extends PassthroughBlockMaterial { private final Material material; diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/BukkitImplAdapter.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/BukkitImplAdapter.java index a7952161d..942bbe625 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/BukkitImplAdapter.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/BukkitImplAdapter.java @@ -20,12 +20,17 @@ package com.sk89q.worldedit.bukkit.adapter; import com.sk89q.worldedit.blocks.BaseBlock; +import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.entity.BaseEntity; +import com.sk89q.worldedit.world.block.BlockType; import org.bukkit.Location; import org.bukkit.block.Biome; import org.bukkit.entity.Entity; +import java.util.List; +import java.util.Map; + import javax.annotation.Nullable; /** @@ -91,4 +96,19 @@ public interface BukkitImplAdapter { Entity createEntity(Location location, BaseEntity state); + /** + * Get a list of values for a property. + * + * @param property The property + * @return The list of values + */ + List getPropertyValues(BlockType blockType, Property property); + + /** + * Get a map of string -> properties + * + * @param blockType The block type + * @return The properties map + */ + Map getProperties(BlockType blockType); } diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_6_R3.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_6_R3.class deleted file mode 100644 index 4f3c4dab7..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_6_R3.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R2.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R2.class deleted file mode 100644 index c61abe627..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R2.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R3.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R3.class deleted file mode 100644 index c08893d3b..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R3.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R4.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R4.class deleted file mode 100644 index cecbd02ca..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/CraftBukkit_v1_7_R4.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_10_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_10_R1.class deleted file mode 100644 index fad3f0bd1..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_10_R1.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_11_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_11_R1.class deleted file mode 100644 index c8b7a3fc6..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_11_R1.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R1.class deleted file mode 100644 index 18c65486b..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R1.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R2.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R2.class deleted file mode 100644 index 4f8ddbc79..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_12_R2.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_13_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_13_R1.class new file mode 100644 index 000000000..a9885edc5 Binary files /dev/null and b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_13_R1.class differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R1.class deleted file mode 100644 index 22d0efe35..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R1.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R2.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R2.class deleted file mode 100644 index 4364089e0..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R2.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R3.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R3.class deleted file mode 100644 index ad8fa4d66..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_8_R3.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R1.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R1.class deleted file mode 100644 index 77edca329..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R1.class and /dev/null differ diff --git a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R2.class b/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R2.class deleted file mode 100644 index 198451706..000000000 Binary files a/worldedit-bukkit/src/main/resources/com/sk89q/worldedit/bukkit/adapter/impl/Spigot_v1_9_R2.class and /dev/null differ diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/DefaultBlockParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/DefaultBlockParser.java index a1b18a251..9ed05da68 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/DefaultBlockParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/DefaultBlockParser.java @@ -29,10 +29,6 @@ import com.sk89q.worldedit.blocks.MobSpawnerBlock; import com.sk89q.worldedit.blocks.SignBlock; import com.sk89q.worldedit.blocks.SkullBlock; import com.sk89q.worldedit.blocks.metadata.MobType; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockType; -import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.extension.input.DisallowedUsageException; import com.sk89q.worldedit.extension.input.InputParseException; @@ -41,11 +37,15 @@ import com.sk89q.worldedit.extension.input.ParserContext; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extension.platform.Capability; import com.sk89q.worldedit.internal.registry.InputParser; +import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.world.World; -import com.sk89q.worldedit.world.registry.BundledBlockData; -import com.sk89q.worldedit.registry.state.Property; +import com.sk89q.worldedit.world.block.BlockState; +import com.sk89q.worldedit.world.block.BlockStateHolder; +import com.sk89q.worldedit.world.block.BlockType; +import com.sk89q.worldedit.world.block.BlockTypes; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; @@ -162,7 +162,8 @@ class DefaultBlockParser extends InputParser { throw new NoMatchException("Bad state format in " + parseableData); } - Property propertyKey = BundledBlockData.getInstance().findById(state.getBlockType().getId()).states.get(parts[0]); + Property propertyKey = WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.GAME_HOOKS) + .getRegistries().getBlockRegistry().getProperties(state.getBlockType()).get(parts[0]); if (propertyKey == null) { throw new NoMatchException("Unknown state " + parts[0] + " for block " + state.getBlockType().getName()); } @@ -194,7 +195,7 @@ class DefaultBlockParser extends InputParser { } String typeString = matcher.group(1); String[] stateProperties = EMPTY_STRING_ARRAY; - if (matcher.groupCount() == 3) { + if (matcher.groupCount() >= 2 && matcher.group(2) != null) { stateProperties = matcher.group(2).split(","); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/transform/BlockTransformExtent.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/transform/BlockTransformExtent.java index a04c25cfb..81d2ed272 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/transform/BlockTransformExtent.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/transform/BlockTransformExtent.java @@ -34,7 +34,6 @@ import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.math.transform.Transform; import com.sk89q.worldedit.registry.state.DirectionalProperty; import com.sk89q.worldedit.registry.state.Property; -import com.sk89q.worldedit.registry.state.value.DirectionalStateValue; import java.util.Map; @@ -129,7 +128,7 @@ public class BlockTransformExtent extends AbstractDelegateExtent { checkNotNull(transform); Map states = WorldEdit.getInstance().getPlatformManager() - .queryCapability(Capability.GAME_HOOKS).getRegistries().getBlockRegistry().getStates(block); + .queryCapability(Capability.GAME_HOOKS).getRegistries().getBlockRegistry().getProperties(block.getBlockType()); if (states == null) { return changedBlock; @@ -137,9 +136,9 @@ public class BlockTransformExtent extends AbstractDelegateExtent { for (Property property : states.values()) { if (property instanceof DirectionalProperty) { - DirectionalStateValue value = (DirectionalStateValue) block.getState(property); + Vector value = (Vector) block.getState(property); if (value != null) { - DirectionalStateValue newValue = getNewStateValue((DirectionalProperty) property, transform, value.getDirection()); + Vector newValue = getNewStateValue((DirectionalProperty) property, transform, value); if (newValue != null) { changedBlock.with(property, newValue); } @@ -159,20 +158,18 @@ public class BlockTransformExtent extends AbstractDelegateExtent { * @return a new state or null if none could be found */ @Nullable - private static DirectionalStateValue getNewStateValue(DirectionalProperty state, Transform transform, Vector oldDirection) { + private static Vector getNewStateValue(DirectionalProperty state, Transform transform, Vector oldDirection) { Vector newDirection = transform.apply(oldDirection).subtract(transform.apply(Vector.ZERO)).normalize(); - DirectionalStateValue newValue = null; + Vector newValue = null; double closest = -2; boolean found = false; - for (DirectionalStateValue v : state.getValues()) { - if (v.getDirection() != null) { - double dot = v.getDirection().normalize().dot(newDirection); - if (dot >= closest) { - closest = dot; - newValue = v; - found = true; - } + for (Vector v : state.getValues()) { + double dot = v.normalize().dot(newDirection); + if (dot >= closest) { + closest = dot; + newValue = v; + found = true; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/BooleanProperty.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/BooleanProperty.java new file mode 100644 index 000000000..4acb12f7d --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/BooleanProperty.java @@ -0,0 +1,38 @@ +/* + * WorldEdit, a Minecraft world manipulation toolkit + * Copyright (C) sk89q + * Copyright (C) WorldEdit team and contributors + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.sk89q.worldedit.registry.state; + +import java.util.List; + +import javax.annotation.Nullable; + +public class BooleanProperty extends AbstractProperty { + + @Override + public List getValues() { + return null; + } + + @Nullable + @Override + public Boolean getValueFor(String string) { + return null; + } +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/DirectionalProperty.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/DirectionalProperty.java index c165fdfff..e29a7cc75 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/DirectionalProperty.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/DirectionalProperty.java @@ -19,21 +19,21 @@ package com.sk89q.worldedit.registry.state; -import com.sk89q.worldedit.registry.state.value.DirectionalStateValue; +import com.sk89q.worldedit.Vector; import java.util.List; import javax.annotation.Nullable; -public class DirectionalProperty extends AbstractProperty { +public class DirectionalProperty extends AbstractProperty { @Override - public List getValues() { + public List getValues() { return null; } @Nullable @Override - public DirectionalStateValue getValueFor(final String string) { + public Vector getValueFor(final String string) { return null; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/value/DirectionalStateValue.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/EnumProperty.java similarity index 71% rename from worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/value/DirectionalStateValue.java rename to worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/EnumProperty.java index 69d3e1ef4..37d3bfe20 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/value/DirectionalStateValue.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/EnumProperty.java @@ -17,13 +17,22 @@ * along with this program. If not, see . */ -package com.sk89q.worldedit.registry.state.value; +package com.sk89q.worldedit.registry.state; -import com.sk89q.worldedit.Vector; +import java.util.List; -public class DirectionalStateValue { +import javax.annotation.Nullable; - public Vector getDirection() { - return new Vector(); // TODO +public class EnumProperty extends AbstractProperty { + + @Override + public List getValues() { + return null; + } + + @Nullable + @Override + public String getValueFor(String string) { + return null; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/IntegerProperty.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/IntegerProperty.java new file mode 100644 index 000000000..bc08a33ee --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/state/IntegerProperty.java @@ -0,0 +1,38 @@ +/* + * WorldEdit, a Minecraft world manipulation toolkit + * Copyright (C) sk89q + * Copyright (C) WorldEdit team and contributors + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.sk89q.worldedit.registry.state; + +import java.util.List; + +import javax.annotation.Nullable; + +public class IntegerProperty extends AbstractProperty { + + @Override + public List getValues() { + return null; + } + + @Nullable + @Override + public Integer getValueFor(String string) { + return null; + } +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java index 02a50c1ac..ed86f0e03 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java @@ -20,10 +20,10 @@ package com.sk89q.worldedit.world.registry; import com.sk89q.worldedit.blocks.BlockMaterial; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.registry.state.Property; +import com.sk89q.worldedit.world.block.BlockType; +import java.util.List; import java.util.Map; import javax.annotation.Nullable; @@ -33,15 +33,6 @@ import javax.annotation.Nullable; */ public interface BlockRegistry { - /** - * Create a new block using its ID. - * - * @param id the id - * @return the block, which may be null if no block exists - */ - @Nullable - BlockState createFromId(String id); - /** * Get the material for the given block. * @@ -51,13 +42,21 @@ public interface BlockRegistry { @Nullable BlockMaterial getMaterial(String id); + /** + * Get an unmodifiable list of values for this property. + * + * @param blockType The block + * @param property the property + * @return the list of values + */ + List getPropertyValues(BlockType blockType, Property property); + /** * Get an unmodifiable map of states for this block. * - * @param block the block + * @param blockType the block * @return a map of states where the key is the state's ID */ - @Nullable - Map getStates(BlockStateHolder block); + Map getProperties(BlockType blockType); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java index cedb6aa4d..2fa75d668 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java @@ -25,11 +25,8 @@ import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.blocks.BlockMaterial; -import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.util.gson.VectorAdapter; -import com.sk89q.worldedit.registry.state.AbstractProperty; -import javax.annotation.Nullable; import java.io.IOException; import java.net.URL; import java.nio.charset.Charset; @@ -39,6 +36,8 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.Nullable; + /** * Provides block data based on the built-in block database that is bundled * with WorldEdit. @@ -86,7 +85,6 @@ public class BundledBlockData { for (BlockEntry entry : entries) { idMap.put(entry.id, entry); - entry.postDeserialization(); } } @@ -121,22 +119,6 @@ public class BundledBlockData { } } - /** - * Get the states for the given block. - * - * @param id the string ID - * @return the block's states, or null if no information is available - */ - @Nullable - public Map getStatesById(String id) { - BlockEntry entry = findById(id); - if (entry != null) { - return entry.states; - } else { - return null; - } - } - /** * Get a singleton instance of this object. * @@ -151,14 +133,7 @@ public class BundledBlockData { private String unlocalizedName; public String localizedName; private List aliases; - public Map states = new HashMap<>(); private SimpleBlockMaterial material = new SimpleBlockMaterial(); - - void postDeserialization() { - for (Map.Entry state : states.entrySet()) { - state.getValue().setName(state.getKey()); - } - } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java index 10c3e11a3..05a9c9029 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java @@ -21,10 +21,10 @@ package com.sk89q.worldedit.world.registry; import com.sk89q.worldedit.blocks.BlockMaterial; import com.sk89q.worldedit.registry.state.Property; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockTypes; +import com.sk89q.worldedit.world.block.BlockType; +import java.util.Collections; +import java.util.List; import java.util.Map; import javax.annotation.Nullable; @@ -35,22 +35,21 @@ import javax.annotation.Nullable; */ public class BundledBlockRegistry implements BlockRegistry { - @Nullable - @Override - public BlockState createFromId(String id) { - return BlockTypes.get(id).getDefaultState(); - } - @Nullable @Override public BlockMaterial getMaterial(String id) { return new PassthroughBlockMaterial(BundledBlockData.getInstance().getMaterialById(id)); } + @Override + public List getPropertyValues(BlockType blockType, Property property) { + return Collections.emptyList(); // Oof + } + @Nullable @Override - public Map getStates(BlockStateHolder block) { - return BundledBlockData.getInstance().getStatesById(block.getBlockType().getId()); + public Map getProperties(BlockType blockType) { + return Collections.emptyMap(); // Oof } }