From e741edd739a8140d3015057c633c3ac92ff1c36a Mon Sep 17 00:00:00 2001 From: Aleksey Date: Sun, 27 Dec 2020 22:06:16 +0300 Subject: [PATCH 1/2] Entity config --- src/main/java/ru/betterend/config/Configs.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/ru/betterend/config/Configs.java b/src/main/java/ru/betterend/config/Configs.java index 09fcca40..37019a83 100644 --- a/src/main/java/ru/betterend/config/Configs.java +++ b/src/main/java/ru/betterend/config/Configs.java @@ -1,19 +1,23 @@ package ru.betterend.config; public class Configs { - public static final IdConfig ITEM_CONFIG = new IdConfig("items", (item, category) -> { - return new ConfigKey(item.getNamespace(), category, item.getPath()); + public static final IdConfig ITEM_CONFIG = new IdConfig("items", (itemId, category) -> { + return new ConfigKey(itemId.getNamespace(), category, itemId.getPath()); }); - public static final IdConfig BLOCK_CONFIG = new IdConfig("blocks", (block, category) -> { - return new ConfigKey(block.getNamespace(), category, block.getPath()); + public static final IdConfig BLOCK_CONFIG = new IdConfig("blocks", (blockId, category) -> { + return new ConfigKey(blockId.getNamespace(), category, blockId.getPath()); }); - public static final IdConfig BIOME_CONFIG = new IdConfig("biomes", (biome, entry) -> { - return new ConfigKey(biome.getNamespace(), biome.getPath(), entry); + public static final IdConfig BIOME_CONFIG = new IdConfig("biomes", (biomeId, entry) -> { + return new ConfigKey(biomeId.getNamespace(), biomeId.getPath(), entry); + }); + public static final IdConfig ENTITY_CONFIG = new IdConfig("entities", (entityId, category) -> { + return new ConfigKey(entityId.getNamespace(), category, entityId.getPath()); }); public static void saveConfigs() { ITEM_CONFIG.saveChanges(); BLOCK_CONFIG.saveChanges(); BIOME_CONFIG.saveChanges(); + ENTITY_CONFIG.saveChanges(); } } From b76a6ab99e872eb6f12206359581f4bdf50ddd10 Mon Sep 17 00:00:00 2001 From: Aleksey Date: Sun, 27 Dec 2020 22:16:01 +0300 Subject: [PATCH 2/2] Config for entities --- .../ru/betterend/registry/EndEntities.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/ru/betterend/registry/EndEntities.java b/src/main/java/ru/betterend/registry/EndEntities.java index 16924e6d..1201df47 100644 --- a/src/main/java/ru/betterend/registry/EndEntities.java +++ b/src/main/java/ru/betterend/registry/EndEntities.java @@ -9,8 +9,10 @@ import net.minecraft.entity.EntityType.EntityFactory; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.attribute.DefaultAttributeContainer.Builder; +import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.BetterEnd; +import ru.betterend.config.Configs; import ru.betterend.entity.EntityCubozoa; import ru.betterend.entity.EntityDragonfly; import ru.betterend.entity.EntityEndFish; @@ -35,14 +37,22 @@ public class EndEntities { } protected static EntityType register(String name, SpawnGroup group, float width, float height, EntityFactory entity) { - EntityType type = Registry.register(Registry.ENTITY_TYPE, BetterEnd.makeID(name), FabricEntityTypeBuilder.create(group, entity).dimensions(EntityDimensions.fixed(width, height)).build()); + Identifier id = BetterEnd.makeID(name); + EntityType type = FabricEntityTypeBuilder.create(group, entity).dimensions(EntityDimensions.fixed(width, height)).build(); + if (Configs.ENTITY_CONFIG.getBoolean(id, "entities", true)) { + return Registry.register(Registry.ENTITY_TYPE, id, type); + } return type; } private static EntityType register(String name, SpawnGroup group, float width, float height, EntityFactory entity, Builder attributes, boolean fixedSize, int eggColor, int dotsColor) { - EntityType type = Registry.register(Registry.ENTITY_TYPE, BetterEnd.makeID(name), FabricEntityTypeBuilder.create(group, entity).dimensions(fixedSize ? EntityDimensions.fixed(width, height) : EntityDimensions.changing(width, height)).build()); - FabricDefaultAttributeRegistry.register(type, attributes); - EndItems.registerEgg("spawn_egg_" + name, type, eggColor, dotsColor); + Identifier id = BetterEnd.makeID(name); + EntityType type = FabricEntityTypeBuilder.create(group, entity).dimensions(fixedSize ? EntityDimensions.fixed(width, height) : EntityDimensions.changing(width, height)).build(); + if (Configs.ENTITY_CONFIG.getBoolean(id, "entities", true)) { + FabricDefaultAttributeRegistry.register(type, attributes); + EndItems.registerEgg("spawn_egg_" + name, type, eggColor, dotsColor); + return Registry.register(Registry.ENTITY_TYPE, BetterEnd.makeID(name), type); + } return type; } }