diff --git a/src/main/java/ru/betterend/entity/CubozoaEntity.java b/src/main/java/ru/betterend/entity/CubozoaEntity.java index 65a20bb9..71b0d548 100644 --- a/src/main/java/ru/betterend/entity/CubozoaEntity.java +++ b/src/main/java/ru/betterend/entity/CubozoaEntity.java @@ -22,7 +22,6 @@ import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.passive.SchoolingFishEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket; import net.minecraft.server.network.ServerPlayerEntity; @@ -53,6 +52,14 @@ public class CubozoaEntity extends SchoolingFishEntity { if (EndBiomes.getFromBiome(world.getBiome(getBlockPos())) == EndBiomes.SULPHUR_SPRINGS) { this.dataTracker.set(VARIANT, (byte) 1); } + + if (entityTag != null) { + if (entityTag.contains("variant")) + this.dataTracker.set(VARIANT, entityTag.getByte("variant")); + if (entityTag.contains("scale")) + this.dataTracker.set(SCALE, entityTag.getByte("scale")); + } + this.calculateDimensions(); return data; } @@ -120,7 +127,11 @@ public class CubozoaEntity extends SchoolingFishEntity { @Override protected ItemStack getFishBucketItem() { - return new ItemStack(Items.WATER_BUCKET); + ItemStack bucket = EndItems.BUCKET_CUBOZOA.getDefaultStack(); + CompoundTag tag = bucket.getOrCreateTag(); + tag.putByte("variant", dataTracker.get(VARIANT)); + tag.putByte("scale", dataTracker.get(SCALE)); + return bucket; } @Override diff --git a/src/main/java/ru/betterend/entity/EndFishEntity.java b/src/main/java/ru/betterend/entity/EndFishEntity.java index 4b633a4d..42ed0f7e 100644 --- a/src/main/java/ru/betterend/entity/EndFishEntity.java +++ b/src/main/java/ru/betterend/entity/EndFishEntity.java @@ -46,6 +46,14 @@ public class EndFishEntity extends SchoolingFishEntity { if (EndBiomes.getFromBiome(world.getBiome(getBlockPos())) == EndBiomes.SULPHUR_SPRINGS) { this.dataTracker.set(VARIANT, (byte) (random.nextInt(VARIANTS_SULPHUR) + VARIANTS_NORMAL)); } + + if (entityTag != null) { + if (entityTag.contains("variant")) + this.dataTracker.set(VARIANT, entityTag.getByte("variant")); + if (entityTag.contains("scale")) + this.dataTracker.set(SCALE, entityTag.getByte("scale")); + } + this.calculateDimensions(); return data; } @@ -77,7 +85,11 @@ public class EndFishEntity extends SchoolingFishEntity { @Override protected ItemStack getFishBucketItem() { - return new ItemStack(EndItems.BUCKET_END_FISH); + ItemStack bucket = EndItems.BUCKET_END_FISH.getDefaultStack(); + CompoundTag tag = bucket.getOrCreateTag(); + tag.putByte("variant", dataTracker.get(VARIANT)); + tag.putByte("scale", dataTracker.get(SCALE)); + return bucket; } @Override diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 4e3dc6f3..203f0e48 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -120,6 +120,7 @@ public class EndItems { public final static Item END_FISH_RAW = registerFood("end_fish_raw", FoodComponents.SALMON); public final static Item END_FISH_COOKED = registerFood("end_fish_cooked", FoodComponents.COOKED_SALMON); public final static Item BUCKET_END_FISH = registerItem("bucket_end_fish", new FishBucketItem(EndEntities.END_FISH, Fluids.WATER, makeItemSettings().maxCount(1))); + public final static Item BUCKET_CUBOZOA = registerItem("bucket_cubozoa", new FishBucketItem(EndEntities.CUBOZOA, Fluids.WATER, makeItemSettings().maxCount(1))); public final static Item SWEET_BERRY_JELLY = registerFood("sweet_berry_jelly", 6, 0.75F); public final static Item SHADOW_BERRY_JELLY = registerFood("shadow_berry_jelly", 7, 0.75F, new StatusEffectInstance(StatusEffects.NIGHT_VISION, 400)); public final static Item BLOSSOM_BERRY = registerFood("blossom_berry", FoodComponents.APPLE); diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 2d63c8a3..140e8f20 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -316,6 +316,7 @@ "block.betterend.quartz_lantern": "Quartz Lantern", "item.betterend.bucket_end_fish": "Bucket of End Fish", + "item.betterend.bucket_cubozoa": "Bucket of Cubozoa", "item.betterend.end_fish_cooked": "Cooked End Fish", "item.betterend.end_fish_raw": "End Fish", diff --git a/src/main/resources/assets/betterend/models/item/bucket_cubozoa.json b/src/main/resources/assets/betterend/models/item/bucket_cubozoa.json new file mode 100644 index 00000000..27e0e130 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/bucket_cubozoa.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/bucket_cubozoa" + } +} diff --git a/src/main/resources/assets/betterend/textures/item/bucket_cubozoa.png b/src/main/resources/assets/betterend/textures/item/bucket_cubozoa.png new file mode 100644 index 00000000..6b1e88c4 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/bucket_cubozoa.png differ