mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 00:15:35 +00:00
Merge pull request #229 from ajgeiss0702/ver/6.0.0
Remove bukkit-style biome IDs
This commit is contained in:
commit
0acff143fb
@ -1,5 +1,6 @@
|
|||||||
package com.dfsek.terra.bukkit;
|
package com.dfsek.terra.bukkit;
|
||||||
|
|
||||||
|
import com.dfsek.tectonic.exception.LoadException;
|
||||||
import com.dfsek.tectonic.loading.TypeRegistry;
|
import com.dfsek.tectonic.loading.TypeRegistry;
|
||||||
import com.dfsek.terra.api.Logger;
|
import com.dfsek.terra.api.Logger;
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
@ -62,6 +63,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -301,11 +303,16 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
|||||||
public void register(TypeRegistry registry) {
|
public void register(TypeRegistry registry) {
|
||||||
registry
|
registry
|
||||||
.registerLoader(BlockData.class, (t, o, l) -> handle.createBlockData((String) o))
|
.registerLoader(BlockData.class, (t, o, l) -> handle.createBlockData((String) o))
|
||||||
.registerLoader(Biome.class, (t, o, l) -> new BukkitBiome(org.bukkit.block.Biome.valueOf((String) o)))
|
.registerLoader(Biome.class, (t, o, l) -> parseBiome((String) o))
|
||||||
.registerLoader(EntityType.class, (t, o, l) -> EntityType.valueOf((String) o));
|
.registerLoader(EntityType.class, (t, o, l) -> EntityType.valueOf((String) o));
|
||||||
genericLoaders.register(registry);
|
genericLoaders.register(registry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BukkitBiome parseBiome(String id) throws LoadException {
|
||||||
|
if(!id.startsWith("minecraft:")) throw new LoadException("Invalid biome identifier " + id);
|
||||||
|
return new BukkitBiome(org.bukkit.block.Biome.valueOf(id.toUpperCase(Locale.ROOT).substring(10)));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Registry<TerraAddon> getAddons() {
|
public Registry<TerraAddon> getAddons() {
|
||||||
return addonLockedRegistry;
|
return addonLockedRegistry;
|
||||||
|
@ -128,10 +128,6 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
|
|||||||
|
|
||||||
private final PluginConfig config = new PluginConfigImpl();
|
private final PluginConfig config = new PluginConfigImpl();
|
||||||
|
|
||||||
private final TransformerImpl<String, ProtoBiome> biomeFixer = new TransformerImpl.Builder<String, ProtoBiome>()
|
|
||||||
.addTransform(this::parseBiome, Validator.notNull())
|
|
||||||
.addTransform(id -> parseBiome("minecraft:" + id.toLowerCase()), Validator.notNull()).build();
|
|
||||||
|
|
||||||
private ProtoBiome parseBiome(String id) {
|
private ProtoBiome parseBiome(String id) {
|
||||||
Identifier identifier = Identifier.tryParse(id);
|
Identifier identifier = Identifier.tryParse(id);
|
||||||
if(BuiltinRegistries.BIOME.get(identifier) == null) return null; // failure.
|
if(BuiltinRegistries.BIOME.get(identifier) == null) return null; // failure.
|
||||||
@ -242,7 +238,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
|
|||||||
genericLoaders.register(registry);
|
genericLoaders.register(registry);
|
||||||
registry
|
registry
|
||||||
.registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o))
|
.registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o))
|
||||||
.registerLoader(com.dfsek.terra.api.world.biome.Biome.class, (t, o, l) -> biomeFixer.translate((String) o))
|
.registerLoader(com.dfsek.terra.api.world.biome.Biome.class, (t, o, l) -> parseBiome((String) o))
|
||||||
.registerLoader(Identifier.class, (t, o, l) -> {
|
.registerLoader(Identifier.class, (t, o, l) -> {
|
||||||
Identifier identifier = Identifier.tryParse((String) o);
|
Identifier identifier = Identifier.tryParse((String) o);
|
||||||
if(identifier == null) throw new LoadException("Invalid identifier: " + o);
|
if(identifier == null) throw new LoadException("Invalid identifier: " + o);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user