diff --git a/src/main/java/ru/betterend/config/Configs.java b/src/main/java/ru/betterend/config/Configs.java index 4119842a..f1bc46e5 100644 --- a/src/main/java/ru/betterend/config/Configs.java +++ b/src/main/java/ru/betterend/config/Configs.java @@ -1,31 +1,30 @@ -package ru.betterend.config; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import ru.betterend.BetterEnd; - -public class Configs { - public static final PathConfig ENTITY_CONFIG = new PathConfig("entities"); - public static final PathConfig BLOCK_CONFIG = new PathConfig("blocks"); - public static final PathConfig ITEM_CONFIG = new PathConfig("items"); - public static final IdConfig BIOME_CONFIG = new EntryConfig("biomes"); - public static final PathConfig GENERATOR_CONFIG = new PathConfig("generator"); - public static final PathConfig RECIPE_CONFIG = new PathConfig("recipes"); - public static final PortalsConfig PORTALS_CONFIG = new PortalsConfig("portals"); - - @Environment(value = EnvType.CLIENT) - public static final PathConfig CLENT_CONFIG = new PathConfig("client"); - - public static void saveConfigs() { - ENTITY_CONFIG.saveChanges(); - BLOCK_CONFIG.saveChanges(); - BIOME_CONFIG.saveChanges(); - ITEM_CONFIG.saveChanges(); - GENERATOR_CONFIG.saveChanges(); - RECIPE_CONFIG.saveChanges(); - - if (BetterEnd.isClient()) { - CLENT_CONFIG.saveChanges(); - } - } -} +package ru.betterend.config; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import ru.betterend.BetterEnd; + +public class Configs { + public static final PathConfig ENTITY_CONFIG = new PathConfig("entities"); + public static final PathConfig BLOCK_CONFIG = new PathConfig("blocks"); + public static final PathConfig ITEM_CONFIG = new PathConfig("items"); + public static final IdConfig BIOME_CONFIG = new EntryConfig("biomes"); + public static final PathConfig GENERATOR_CONFIG = new PathConfig("generator"); + public static final PathConfig RECIPE_CONFIG = new PathConfig("recipes"); + + @Environment(value = EnvType.CLIENT) + public static final PathConfig CLENT_CONFIG = new PathConfig("client"); + + public static void saveConfigs() { + ENTITY_CONFIG.saveChanges(); + BLOCK_CONFIG.saveChanges(); + BIOME_CONFIG.saveChanges(); + ITEM_CONFIG.saveChanges(); + GENERATOR_CONFIG.saveChanges(); + RECIPE_CONFIG.saveChanges(); + + if (BetterEnd.isClient()) { + CLENT_CONFIG.saveChanges(); + } + } +} diff --git a/src/main/java/ru/betterend/config/PortalsConfig.java b/src/main/java/ru/betterend/config/PortalsConfig.java deleted file mode 100644 index eefe4534..00000000 --- a/src/main/java/ru/betterend/config/PortalsConfig.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.betterend.config; - -import com.google.gson.JsonObject; - -public class PortalsConfig { - - - private final ConfigWriter writer; - private final JsonObject configObject; - - public PortalsConfig(String path) { - this.writer = new ConfigWriter(path); - this.configObject = writer.load(); - } - - public void saveChanges() { - writer.save(); - } -} diff --git a/src/main/java/ru/betterend/entity/CubozoaEntity.java b/src/main/java/ru/betterend/entity/CubozoaEntity.java index 3d45e55f..7b2e0cae 100644 --- a/src/main/java/ru/betterend/entity/CubozoaEntity.java +++ b/src/main/java/ru/betterend/entity/CubozoaEntity.java @@ -49,15 +49,20 @@ public class CubozoaEntity extends AbstractSchoolingFish { @Override public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, SpawnGroupData entityData, CompoundTag entityTag) { SpawnGroupData data = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityTag); - if (entityTag != null) { - if (entityTag.contains("variant")) - this.entityData.set(VARIANT, entityTag.getByte("variant")); - if (entityTag.contains("scale")) - this.entityData.set(SCALE, entityTag.getByte("scale")); - } - else if (EndBiomes.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { + + if (EndBiomes.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { this.entityData.set(VARIANT, (byte) 1); } + + if (entityTag != null) { + if (entityTag.contains("Variant")) { + this.entityData.set(VARIANT, entityTag.getByte("Variant")); + } + if (entityTag.contains("Scale")) { + this.entityData.set(SCALE, entityTag.getByte("Scale")); + } + } + this.refreshDimensions(); return data; } @@ -91,8 +96,8 @@ public class CubozoaEntity extends AbstractSchoolingFish { protected ItemStack getBucketItemStack() { ItemStack bucket = EndItems.BUCKET_CUBOZOA.getDefaultInstance(); CompoundTag tag = bucket.getOrCreateTag(); - tag.putByte("variant", entityData.get(VARIANT)); - tag.putByte("scale", entityData.get(SCALE)); + tag.putByte("Variant", entityData.get(VARIANT)); + tag.putByte("Scale", entityData.get(SCALE)); return bucket; } diff --git a/src/main/java/ru/betterend/entity/EndFishEntity.java b/src/main/java/ru/betterend/entity/EndFishEntity.java index 9d3a170d..ce9a04d9 100644 --- a/src/main/java/ru/betterend/entity/EndFishEntity.java +++ b/src/main/java/ru/betterend/entity/EndFishEntity.java @@ -43,15 +43,20 @@ public class EndFishEntity extends AbstractSchoolingFish { @Override public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, SpawnGroupData entityData, CompoundTag entityTag) { SpawnGroupData data = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityTag); - if (entityTag != null) { - if (entityTag.contains("variant")) - this.entityData.set(VARIANT, entityTag.getByte("variant")); - if (entityTag.contains("scale")) - this.entityData.set(SCALE, entityTag.getByte("scale")); - } - else if (EndBiomes.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { + + if (EndBiomes.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { this.entityData.set(VARIANT, (byte) (random.nextInt(VARIANTS_SULPHUR) + VARIANTS_NORMAL)); } + + if (entityTag != null) { + if (entityTag.contains("Variant")) { + this.entityData.set(VARIANT, entityTag.getByte("variant")); + } + if (entityTag.contains("Scale")) { + this.entityData.set(SCALE, entityTag.getByte("scale")); + } + } + this.refreshDimensions(); return data; } diff --git a/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java b/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java index b4a6db38..ee5c0d69 100644 --- a/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ServerLevelMixin.java @@ -45,7 +45,6 @@ public class ServerLevelMixin { lastWorld = session.getLevelId(); - @SuppressWarnings("resource") ServerLevel world = ServerLevel.class.cast(this); File dir = session.getDimensionPath(world.dimension()); if (!new File(dir, "level.dat").exists()) {