From 1c124e8b75806d2a9f3f81dbcfe9598d4e092bd7 Mon Sep 17 00:00:00 2001 From: dfsek Date: Tue, 17 Aug 2021 10:04:11 -0700 Subject: [PATCH] use namespaced IDs for entities --- .../com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java | 7 ++++++- .../com/dfsek/terra/fabric/handle/FabricWorldHandle.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java index 71fd68d9d..3bd4e452d 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java @@ -1,5 +1,6 @@ package com.dfsek.terra.bukkit.handles; +import com.dfsek.tectonic.exception.LoadException; import com.dfsek.terra.api.block.entity.BlockEntity; import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.entity.EntityType; @@ -9,11 +10,14 @@ 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.BukkitBiome; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState; import com.dfsek.terra.bukkit.world.entity.BukkitEntityType; import org.bukkit.Bukkit; import org.bukkit.Material; +import java.util.Locale; + public class BukkitWorldHandle implements WorldHandle { private final BlockState air; @@ -34,7 +38,8 @@ public class BukkitWorldHandle implements WorldHandle { @Override public EntityType getEntity(String id) { - return new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(id)); + if(!id.startsWith("minecraft:")) throw new LoadException("Invalid entity identifier " + id); + return new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(id.toUpperCase(Locale.ROOT).substring(10))); } @Override diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java index 678dab35a..e851031c8 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java @@ -45,7 +45,7 @@ public class FabricWorldHandle implements WorldHandle { @Override public EntityType getEntity(String id) { Identifier identifier = Identifier.tryParse(id); - if(identifier == null) identifier = Identifier.tryParse("minecraft:" + id.toLowerCase(Locale.ROOT)); + if(identifier == null) identifier = Identifier.tryParse(id); return (EntityType) Registry.ENTITY_TYPE.get(identifier); }