mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 02:20:57 +00:00
feat: add methods to pack by meta and default meta in TerraMinestomWorldBuilder
This commit is contained in:
@@ -13,6 +13,10 @@ import com.dfsek.terra.minestom.block.DefaultBlockEntityFactory;
|
|||||||
import com.dfsek.terra.minestom.entity.DefaultEntityFactory;
|
import com.dfsek.terra.minestom.entity.DefaultEntityFactory;
|
||||||
import com.dfsek.terra.minestom.world.TerraMinestomWorld;
|
import com.dfsek.terra.minestom.world.TerraMinestomWorld;
|
||||||
|
|
||||||
|
import net.minestom.server.registry.RegistryKey;
|
||||||
|
import net.minestom.server.world.DimensionType;
|
||||||
|
import org.jspecify.annotations.NonNull;
|
||||||
|
|
||||||
|
|
||||||
public class TerraMinestomWorldBuilder {
|
public class TerraMinestomWorldBuilder {
|
||||||
private final TerraMinestomPlatform platform;
|
private final TerraMinestomPlatform platform;
|
||||||
@@ -36,10 +40,22 @@ public class TerraMinestomWorldBuilder {
|
|||||||
|
|
||||||
public TerraMinestomWorldBuilder packById(String id) {
|
public TerraMinestomWorldBuilder packById(String id) {
|
||||||
this.pack = platform.getConfigRegistry().getByID(id).orElseThrow();
|
this.pack = platform.getConfigRegistry().getByID(id).orElseThrow();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TerraMinestomWorldBuilder packByMeta(String metaPack, RegistryKey<@NonNull DimensionType> dimensionType) {
|
||||||
|
this.pack = platform.getMetaConfigRegistry()
|
||||||
|
.getByID(metaPack)
|
||||||
|
.orElseThrow(() -> new RuntimeException("Meta Pack " + metaPack + " could not be found"))
|
||||||
|
.packs()
|
||||||
|
.get(dimensionType.key().asString());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TerraMinestomWorldBuilder packByDefaultMeta(RegistryKey<@NonNull DimensionType> dimensionType) {
|
||||||
|
return packByMeta("default", dimensionType);
|
||||||
|
}
|
||||||
|
|
||||||
public TerraMinestomWorldBuilder findPack(Function<CheckedRegistry<ConfigPack>, ConfigPack> fn) {
|
public TerraMinestomWorldBuilder findPack(Function<CheckedRegistry<ConfigPack>, ConfigPack> fn) {
|
||||||
this.pack = fn.apply(platform.getConfigRegistry());
|
this.pack = fn.apply(platform.getConfigRegistry());
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
Reference in New Issue
Block a user