mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-22 17:27:38 +00:00
Revert "Using an array instead of an EnumMap isn't necessary here"
This reverts commit 240a817e
This commit is contained in:
parent
df60e50c96
commit
d381617f11
@ -27,7 +27,6 @@ import com.sk89q.worldedit.world.block.BlockTypes;
|
||||
import com.sk89q.worldedit.world.registry.BlockMaterial;
|
||||
import com.sk89q.worldedit.world.registry.BundledBlockRegistry;
|
||||
import com.sk89q.worldedit.world.registry.PassthroughBlockMaterial;
|
||||
import java.util.EnumMap;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
@ -39,7 +38,7 @@ import java.util.OptionalInt;
|
||||
|
||||
public class BukkitBlockRegistry extends BundledBlockRegistry {
|
||||
|
||||
private Map<Material, BukkitBlockMaterial> materialMap = new EnumMap<>(Material.class);
|
||||
private BukkitBlockMaterial[] materialMap;
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
@ -53,17 +52,15 @@ public class BukkitBlockRegistry extends BundledBlockRegistry {
|
||||
if (mat == null) {
|
||||
return new PassthroughBlockMaterial(null);
|
||||
}
|
||||
return materialMap.computeIfAbsent(mat, material -> new BukkitBlockMaterial(BukkitBlockRegistry.super.getMaterial(blockType), material));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Map<String, ? extends Property<?>> getProperties(BlockType blockType) {
|
||||
BukkitImplAdapter adapter = WorldEditPlugin.getInstance().getBukkitImplAdapter();
|
||||
if (adapter != null) {
|
||||
return adapter.getProperties(blockType);
|
||||
if (materialMap == null) {
|
||||
materialMap = new BukkitBlockMaterial[Material.values().length];
|
||||
}
|
||||
return super.getProperties(blockType);
|
||||
BukkitBlockMaterial result = materialMap[mat.ordinal()];
|
||||
if (result == null) {
|
||||
result = new BukkitBlockMaterial(BukkitBlockRegistry.super.getMaterial(blockType), mat);
|
||||
materialMap[mat.ordinal()] = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@ -76,6 +73,7 @@ public class BukkitBlockRegistry extends BundledBlockRegistry {
|
||||
}
|
||||
return super.getMaterial(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OptionalInt getInternalBlockStateId(BlockState state) {
|
||||
if (WorldEditPlugin.getInstance().getBukkitImplAdapter() != null) {
|
||||
@ -83,6 +81,15 @@ public class BukkitBlockRegistry extends BundledBlockRegistry {
|
||||
}
|
||||
return OptionalInt.empty();
|
||||
}
|
||||
@Nullable
|
||||
@Override
|
||||
public Map<String, ? extends Property<?>> getProperties(BlockType blockType) {
|
||||
BukkitImplAdapter adapter = WorldEditPlugin.getInstance().getBukkitImplAdapter();
|
||||
if (adapter != null) {
|
||||
return adapter.getProperties(blockType);
|
||||
}
|
||||
return super.getProperties(blockType);
|
||||
}
|
||||
|
||||
public static class BukkitBlockMaterial extends PassthroughBlockMaterial {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user