From 2876ae50a2c71d1b0900a1f615d01dac17c19f2a Mon Sep 17 00:00:00 2001 From: manmaed Date: Sat, 5 Oct 2024 23:29:13 +0100 Subject: [PATCH 01/12] RockVariant --- .../java/net/manmaed/petrock/PetRock.java | 2 ++ .../client/render/entity/RenderPetRock.java | 1 + .../manmaed/petrock/entity/EntityPetRock.java | 23 +++++++++++---- .../manmaed/petrock/entity/PREntityTypes.java | 10 +++++++ .../manmaed/petrock/entity/RockVariant.java | 28 +++++++++++++++++++ 5 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 src/main/java/net/manmaed/petrock/entity/RockVariant.java diff --git a/src/main/java/net/manmaed/petrock/PetRock.java b/src/main/java/net/manmaed/petrock/PetRock.java index 433c39d..68f2f3f 100644 --- a/src/main/java/net/manmaed/petrock/PetRock.java +++ b/src/main/java/net/manmaed/petrock/PetRock.java @@ -20,6 +20,8 @@ public class PetRock { public static final String MOD_ID = "petrock"; + + public PetRock(IEventBus event) { PRItems.ITEMS.register(event); PRBlocks.BLOCKS.register(event); diff --git a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java index bee2a10..049a750 100644 --- a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java +++ b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java @@ -15,6 +15,7 @@ */ public class RenderPetRock extends MobRenderer { + private static final ResourceLocation UNTAME = RLHelper.location("textures/entity/petrock.png"); private static final ResourceLocation TAMED = RLHelper.location("textures/entity/petrock_tame.png"); private static final ResourceLocation SITTING = RLHelper.location("textures/entity/petrocktamesit.png"); diff --git a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java index cd02391..342c544 100644 --- a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java +++ b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java @@ -2,16 +2,17 @@ import net.manmaed.petrock.item.PRItems; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.AgeableMob; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.TamableAnimal; +import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.*; @@ -31,8 +32,10 @@ /** * Created by manmaed on 07/03/2021. */ -public class EntityPetRock extends TamableAnimal { +public class EntityPetRock extends TamableAnimal implements VariantHolder> { + private static final EntityDataAccessor> DATA_VARIANT_ID = SynchedEntityData.defineId(EntityPetRock.class, PREntityTypes.EDS_ROCK_VARIANT); + private static final ResourceKey DEFAULT_VARIANT = RockVariant.STONE; protected EntityPetRock(EntityType type, Level worldIn) { super(type, worldIn); this.setTame(false, false); @@ -161,4 +164,14 @@ public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableM } return petRock; } + + @Override + public void setVariant(Holder variant) { + this.entityData.set(DATA_VARIANT_ID, variant); + } + + @Override + public Holder getVariant() { + return this.entityData.get(DATA_VARIANT_ID); + } } diff --git a/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java b/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java index 8f5f172..8418cdc 100644 --- a/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java +++ b/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java @@ -2,15 +2,25 @@ import net.manmaed.petrock.PetRock; +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; +import net.minecraft.network.syncher.EntityDataSerializer; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; +import net.minecraft.world.entity.animal.CatVariant; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; public class PREntityTypes { public static DeferredRegister> ENTITY_TYPES = DeferredRegister.create(Registries.ENTITY_TYPE, PetRock.MOD_ID); + public static final ResourceKey> ROCK_VARIANT = ResourceKey.createRegistryKey(RLHelper.location("rock_variant")); + public static final Registry REGISTRY_ROCK_VARIANT = BuiltInRegistries.registerSimple(ROCK_VARIANT, RockVariant::bootstrap); + public static final EntityDataSerializer> EDS_ROCK_VARIANT = EntityDataSerializer.forValueType(RockVariant.STREAM_CODEC); public static final DeferredHolder, EntityType> PETROCK = ENTITY_TYPES.register("petrock", () -> EntityType.Builder.of(EntityPetRock:: new, MobCategory.MISC) diff --git a/src/main/java/net/manmaed/petrock/entity/RockVariant.java b/src/main/java/net/manmaed/petrock/entity/RockVariant.java new file mode 100644 index 0000000..3823689 --- /dev/null +++ b/src/main/java/net/manmaed/petrock/entity/RockVariant.java @@ -0,0 +1,28 @@ +package net.manmaed.petrock.entity; + +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; + +/** + * Copy & Paste form {@link net.minecraft.world.entity.animal.CatVariant} + */ +public record RockVariant(ResourceLocation texture) { + public static final StreamCodec> STREAM_CODEC = ByteBufCodecs.holderRegistry(PREntityTypes.ROCK_VARIANT); + public static final ResourceKey STONE = createKey("stone"); + + public static RockVariant bootstrap(Registry rockVariants) { + return register(rockVariants, STONE, "stone"); + } + private static ResourceKey createKey(String name) { + return ResourceKey.create(PREntityTypes.ROCK_VARIANT, RLHelper.location(name)); + } + private static RockVariant register(Registry rockVariantRegistry, ResourceKey rockVariantResourceKey, String name) { + return Registry.register(rockVariantRegistry, rockVariantResourceKey, new RockVariant(RLHelper.location("textures/entity/petrock/" + name + ".png"))); + } +} From 3fc7badfe38c2c01f2c8eb24bd3a287281e02d59 Mon Sep 17 00:00:00 2001 From: manmaed Date: Sun, 6 Oct 2024 13:59:47 +0100 Subject: [PATCH 02/12] Ok we are going to do it the simple way lol --- .../manmaed/petrock/entity/PREntityTypes.java | 10 ------- .../manmaed/petrock/entity/RockVariant.java | 28 ------------------- 2 files changed, 38 deletions(-) delete mode 100644 src/main/java/net/manmaed/petrock/entity/RockVariant.java diff --git a/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java b/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java index 8418cdc..8f5f172 100644 --- a/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java +++ b/src/main/java/net/manmaed/petrock/entity/PREntityTypes.java @@ -2,25 +2,15 @@ import net.manmaed.petrock.PetRock; -import net.manmaed.petrock.libs.RLHelper; -import net.minecraft.core.Holder; -import net.minecraft.core.Registry; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; -import net.minecraft.network.syncher.EntityDataSerializer; -import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; -import net.minecraft.world.entity.animal.CatVariant; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; public class PREntityTypes { public static DeferredRegister> ENTITY_TYPES = DeferredRegister.create(Registries.ENTITY_TYPE, PetRock.MOD_ID); - public static final ResourceKey> ROCK_VARIANT = ResourceKey.createRegistryKey(RLHelper.location("rock_variant")); - public static final Registry REGISTRY_ROCK_VARIANT = BuiltInRegistries.registerSimple(ROCK_VARIANT, RockVariant::bootstrap); - public static final EntityDataSerializer> EDS_ROCK_VARIANT = EntityDataSerializer.forValueType(RockVariant.STREAM_CODEC); public static final DeferredHolder, EntityType> PETROCK = ENTITY_TYPES.register("petrock", () -> EntityType.Builder.of(EntityPetRock:: new, MobCategory.MISC) diff --git a/src/main/java/net/manmaed/petrock/entity/RockVariant.java b/src/main/java/net/manmaed/petrock/entity/RockVariant.java deleted file mode 100644 index 3823689..0000000 --- a/src/main/java/net/manmaed/petrock/entity/RockVariant.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.manmaed.petrock.entity; - -import net.manmaed.petrock.libs.RLHelper; -import net.minecraft.core.Holder; -import net.minecraft.core.Registry; -import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; -import net.minecraft.network.codec.StreamCodec; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; - -/** - * Copy & Paste form {@link net.minecraft.world.entity.animal.CatVariant} - */ -public record RockVariant(ResourceLocation texture) { - public static final StreamCodec> STREAM_CODEC = ByteBufCodecs.holderRegistry(PREntityTypes.ROCK_VARIANT); - public static final ResourceKey STONE = createKey("stone"); - - public static RockVariant bootstrap(Registry rockVariants) { - return register(rockVariants, STONE, "stone"); - } - private static ResourceKey createKey(String name) { - return ResourceKey.create(PREntityTypes.ROCK_VARIANT, RLHelper.location(name)); - } - private static RockVariant register(Registry rockVariantRegistry, ResourceKey rockVariantResourceKey, String name) { - return Registry.register(rockVariantRegistry, rockVariantResourceKey, new RockVariant(RLHelper.location("textures/entity/petrock/" + name + ".png"))); - } -} From bb056e0361661c96f1183f0cf51c2dbda64f7e1e Mon Sep 17 00:00:00 2001 From: manmaed Date: Sun, 6 Oct 2024 15:31:18 +0100 Subject: [PATCH 03/12] New PetRocks --- .../client/render/entity/RenderPetRock.java | 12 +- .../manmaed/petrock/entity/EntityPetRock.java | 171 ++++++++++++++++-- .../resources/META-INF/neoforge.mods.toml | 2 +- .../textures/entity/petrock/andesite/sit.png | Bin 0 -> 2291 bytes .../textures/entity/petrock/andesite/tame.png | Bin 0 -> 2272 bytes .../entity/petrock/andesite/untame.png | Bin 0 -> 2295 bytes .../textures/entity/petrock/bedrock/sit.png | Bin 0 -> 2226 bytes .../textures/entity/petrock/bedrock/tame.png | Bin 0 -> 2227 bytes .../entity/petrock/bedrock/untame.png | Bin 0 -> 2208 bytes .../textures/entity/petrock/clay/sit.png | Bin 0 -> 2302 bytes .../textures/entity/petrock/clay/tame.png | Bin 0 -> 2288 bytes .../textures/entity/petrock/clay/untame.png | Bin 0 -> 2294 bytes .../textures/entity/petrock/deepslate/sit.png | Bin 0 -> 2216 bytes .../entity/petrock/deepslate/tame.png | Bin 0 -> 2201 bytes .../entity/petrock/deepslate/untame.png | Bin 0 -> 2198 bytes .../textures/entity/petrock/diorite/sit.png | Bin 0 -> 2374 bytes .../textures/entity/petrock/diorite/tame.png | Bin 0 -> 2367 bytes .../entity/petrock/diorite/untame.png | Bin 0 -> 2367 bytes .../textures/entity/petrock/end/sit.png | Bin 0 -> 1638 bytes .../textures/entity/petrock/end/tame.png | Bin 0 -> 1621 bytes .../textures/entity/petrock/end/untame.png | Bin 0 -> 1422 bytes .../textures/entity/petrock/granite/sit.png | Bin 0 -> 2275 bytes .../textures/entity/petrock/granite/tame.png | Bin 0 -> 2256 bytes .../entity/petrock/granite/untame.png | Bin 0 -> 2275 bytes .../textures/entity/petrock/missingno/sit.png | Bin 0 -> 290 bytes .../entity/petrock/missingno/tame.png | Bin 0 -> 285 bytes .../entity/petrock/missingno/untame.png | Bin 0 -> 286 bytes .../textures/entity/petrock/nether/sit.png | Bin 0 -> 1509 bytes .../textures/entity/petrock/nether/tame.png | Bin 0 -> 1504 bytes .../textures/entity/petrock/nether/untame.png | Bin 0 -> 1347 bytes .../stone/sit.png} | Bin .../stone/tame.png} | Bin .../{petrock.png => petrock/stone/untame.png} | Bin .../assets/petrock/textures/item/kibble.png | Bin 602 -> 1682 bytes .../petrock/textures/item/kibble_old.png | Bin 1383 -> 0 bytes .../petrock/textures/item/orderform.png | Bin 483 -> 1669 bytes .../textures/item/petrock_care_guide.png | Bin 487 -> 1648 bytes .../assets/petrock/textures/item/stoneium.png | Bin 495 -> 1751 bytes .../petrock/textures/item/stoneium_old.png | Bin 407 -> 0 bytes 39 files changed, 164 insertions(+), 21 deletions(-) create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/andesite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/andesite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/andesite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/bedrock/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/bedrock/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/bedrock/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/clay/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/clay/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/clay/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/deepslate/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/deepslate/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/deepslate/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/diorite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/diorite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/diorite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/end/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/end/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/end/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/granite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/granite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/granite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/missingno/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/missingno/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/missingno/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/nether/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/nether/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/nether/untame.png rename src/main/resources/assets/petrock/textures/entity/{petrocktamesit.png => petrock/stone/sit.png} (100%) rename src/main/resources/assets/petrock/textures/entity/{petrock_tame.png => petrock/stone/tame.png} (100%) rename src/main/resources/assets/petrock/textures/entity/{petrock.png => petrock/stone/untame.png} (100%) delete mode 100644 src/main/resources/assets/petrock/textures/item/kibble_old.png delete mode 100644 src/main/resources/assets/petrock/textures/item/stoneium_old.png diff --git a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java index 049a750..045238e 100644 --- a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java +++ b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRock.java @@ -14,12 +14,6 @@ * Created by manmaed on 30/08/2019. */ public class RenderPetRock extends MobRenderer { - - - private static final ResourceLocation UNTAME = RLHelper.location("textures/entity/petrock.png"); - private static final ResourceLocation TAMED = RLHelper.location("textures/entity/petrock_tame.png"); - private static final ResourceLocation SITTING = RLHelper.location("textures/entity/petrocktamesit.png"); - public RenderPetRock(EntityRendererProvider.Context context) { super(context, new ModelPetRock(context.bakeLayer(PRModels.PETROCK)), 0.25F); this.addLayer(new BirthdayLayer(this, context.getModelSet())); @@ -37,12 +31,12 @@ public RenderPetRock(EntityRendererProvider.Context context) { public ResourceLocation getTextureLocation(EntityPetRock petRock) { if (petRock.isTame()) { if (petRock.isInSittingPose()) { - return SITTING; + return RLHelper.location("textures/entity/petrock/" + petRock.getVariantName() + "/sit.png"); } else { - return TAMED; + return RLHelper.location("textures/entity/petrock/" + petRock.getVariantName() + "/tame.png"); } } else { - return UNTAME; + return RLHelper.location("textures/entity/petrock/" + petRock.getVariantName() + "/untame.png"); } } } diff --git a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java index 342c544..f193291 100644 --- a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java +++ b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java @@ -2,17 +2,20 @@ import net.manmaed.petrock.item.PRItems; import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.*; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.*; @@ -24,18 +27,22 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import javax.annotation.Nullable; import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Created by manmaed on 07/03/2021. */ -public class EntityPetRock extends TamableAnimal implements VariantHolder> { +public class EntityPetRock extends TamableAnimal { + + private static final EntityDataAccessor VARIANT_ID = SynchedEntityData.defineId(EntityPetRock.class, EntityDataSerializers.INT); + - private static final EntityDataAccessor> DATA_VARIANT_ID = SynchedEntityData.defineId(EntityPetRock.class, PREntityTypes.EDS_ROCK_VARIANT); - private static final ResourceKey DEFAULT_VARIANT = RockVariant.STONE; protected EntityPetRock(EntityType type, Level worldIn) { super(type, worldIn); this.setTame(false, false); @@ -55,6 +62,27 @@ protected void registerGoals() { this.targetSelector.addGoal(3, (new HurtByTargetGoal(this)).setAlertOthers()); } + @Override + protected void defineSynchedData(SynchedEntityData.Builder synceddata) { + super.defineSynchedData(synceddata); + //synceddata.define(VARIANT_ID, random.nextInt(6)); //Randomly set the rocks variant + synceddata.define(VARIANT_ID, 0); + } + + @Override + public void addAdditionalSaveData(CompoundTag compoundTag) { + super.addAdditionalSaveData(compoundTag); + compoundTag.putInt("rock_variant", this.getVariant()); + } + + @Override + public void readAdditionalSaveData(CompoundTag compoundTag) { + super.readAdditionalSaveData(compoundTag); + if (compoundTag.contains("rock_variant")) { + this.setVariant(compoundTag.getInt("rock_variant")); + } + } + public static AttributeSupplier.Builder createAttributes() { return Mob.createMobAttributes() .add(Attributes.MAX_HEALTH, 2.0D) @@ -98,6 +126,28 @@ public void setTame(boolean tame1, boolean tame2) { } } + public boolean isRockVariantChangeItem(Item item) { + Item[] changeItems = { + //Add Items Here For allowed Variant Change + //will also need a texture and added to rightClickSetRockVariant & getVariantName + Blocks.STONE.asItem(), + Blocks.NETHERRACK.asItem(), + Blocks.END_STONE.asItem(), + Blocks.DEEPSLATE.asItem(), + Blocks.DIORITE.asItem(), + Blocks.GRANITE.asItem(), + Blocks.ANDESITE.asItem(), + Blocks.CLAY.asItem(), + Blocks.BEDROCK.asItem() + }; + for (Item itemloop: changeItems) { + if (item == itemloop) { + return true; + } + } + return false; + } + @Override public boolean isFood(ItemStack itemStack) { return itemStack == PRItems.STONEIUM.get().getDefaultInstance(); @@ -119,6 +169,10 @@ public InteractionResult mobInteract(Player player, InteractionHand hand) { this.heal(3.0F); return InteractionResult.SUCCESS; } + if (isRockVariantChangeItem(item)) { + rightClickSetRockVariant(itemStack, player); + return InteractionResult.SUCCESS; + } if (!(item instanceof DyeItem)) { InteractionResult interactionresult = super.mobInteract(player, hand); if ((!interactionresult.consumesAction() || this.isBaby()) && this.isOwnedBy(player)) { @@ -165,13 +219,108 @@ public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableM return petRock; } - @Override - public void setVariant(Holder variant) { - this.entityData.set(DATA_VARIANT_ID, variant); + public void setVariant(Integer variant) { + this.entityData.set(VARIANT_ID, variant); + } + + public Integer getVariant() { + return this.entityData.get(VARIANT_ID); + } + + public String getVariantName(){ + int type = this.getVariant(); + String name; + switch (type) { + case -1: + name = "missingno"; + break; + case 1: + name = "nether"; + break; + case 2: + name = "end"; + break; + case 3: + name = "deepslate"; + break; + case 4: + name = "diorite"; + break; + case 5: + name = "granite"; + break; + case 6: + name = "andesite"; + break; + case 7: + name = "clay"; + break; + case 8: + name = "bedrock"; + break; + default: + name = "stone"; + break; + } + return name; + } + + private void rightClickSetRockVariant(ItemStack itemStack, Player player) { + Item item = itemStack.getItem(); + String itemName = item.toString(); + // Use regex to extract the part after the colon + String regex = "(?<=:)[^:]+"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(itemName); + // Extract the part after the colon + String extractedName = "missingno"; //Should allways be replaced + if (matcher.find()) { + extractedName = matcher.group(); + } + if (!player.getAbilities().instabuild) { + itemStack.shrink(1); + } + //System.out.println("Item We got " + extractedName); + switch (extractedName) { + case "stone": + setVariant(0); + break; + case "netherrack": + setVariant(1); + break; + case "end_stone": + setVariant(2); + break; + case "deepslate": + setVariant(3); + break; + case "diorite": + setVariant(4); + break; + case "granite": + setVariant(5); + break; + case "andesite": + setVariant(6); + break; + case "clay": + setVariant(7); + break; + case "bedrock": + setVariant(8); + break; + case "missingno": + setVariant(-1); + break; + } } @Override - public Holder getVariant() { - return this.entityData.get(DATA_VARIANT_ID); + public void tick() { + super.tick(); + //System.out.println(getVariant()); + if (getVariant() == null) { + setVariant(0); + } } } diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index 26afd32..bf11342 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -7,7 +7,7 @@ modId="petrock" version = "${version}" displayName="PetRock" updateJSONURL = "https://raw.githubusercontent.com/manmaed/PetRock/refs/heads/main/neo/update.json" -credits = "Squidgy for the PetRock Box (The PetRock With Legs one)" +credits = "Squidgy for the PetRock Box (The PetRock With Legs one) and other textures" authors = "manmaed" description=''' A Mod that adds PetRocks!''' diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/andesite/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/andesite/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..864bd4e5fe97637b74228ea1b8e72db764793add GIT binary patch literal 2291 zcmb_e3v3is6rGk|TdhUDr6D*>Y0?H}=d;_{ouSLGTkIkWZP|tzKsr00-LX46#E5UV+YOjf2yv5{dGqGn zbMLwLzV~)b!HnmVlhTqP2ugP5JBq+_61d=m{@`Bs){-jlNL2G*)FJ4p!Qm?o+OjPb zg8HwM+$BbdYdXUzvWevtk6;SPDnLU}&cu+)a%F-6djzi(up_sQ97AAG#RwA~))WEqTnwj{YyOCHp2GycAPWIQ2UsG8Reg$~ z=sx8k)UnSGH~_hIxne$gj764XE_5Sr0gw?*NRMdUU7-qCk)SK(8Yko}0AZ$w)u>Fa zCa{L0xfR9VU8#cZkYO_0M38XiY$?DiK|Sj}3&Ft}f*lE$4JB|Cr`&{@A#nz`j>QQE z$Ge~|g_p#No}gw>PH;Nx2oPmU_s*<0oFOdT zt@=c|ORW6~AF^`kR)b7Dq{8h3>r31-iDvid zmon(4LG>Tso!d0vWMWaRy=lm6tB(&Hx-xZl=dfza_~!QE2{mFzTf*j)yLYbMx%%e2 zM{f~3_K#b{J-y%G4=UJG*^-u$GO_flp(j%D6ZjV+pIPPWVAIQ{R$i~(d37Yz(b>6n zjPv5QQ&qcaaRTT&2yI<_a5-CXuOd> zeKk_N4CQvF%{2|*Yfbz;C)l=V%NZw_&UjlMpLu?nzJ82T9hN4yHr0;()>z+Vk^w=s zD*?;pYx`Pi75V`IpxIP&h5|%qMfo zlLpt-)n(rFXg8bJ$u;6_lAeEl+}GD{zjq|q=kp8kMblEbuQ5Wh~iZ2#ay=j^m;W{)yQoy}rKw z-tYT<-}k-mbzOPcdnrj7NeF_Zl-jHn@IDP*XhJ;v-?^=^3EmPF+d>UN#!d`hamW{K z=?D_vA~`DcO8ab1kbMSTl%2p(?^7TeK?(}%6<(+XI_d;&$#22>kNt$9l4!ve%d!M%B#cHJB5*C_*ZF$fuVoE0Sb-*}lA=qp9}P3| zPC1}kFzD)#2A>k6^=r{M!H5y{yh2b0GOQ^A6onX038>zPaZw_B5qX2pcaHh(KT}F+02Fi$LFOdAA9Mp0iTLG-R4lGzWZ8$~Zq{%_ioRQ>6^SdO) zk>n86E{l>YG!m4~=Sb!WC@dP0*ZJpyMS*k4s*i_?B_HnwgyMH&Xe^FgiR_hCXc&4& zN4&7xxl+HT^L_!8S}hn9ZIC396I>!qJ6R*{bOAGNHZc_LWCR}P8J7w0Y@U%J&BN=h zvJeQTc6hxA*XN5)r;7(9?#$0)ah7Iy+zFf_ZemG_H&KE!-#iorXn&3>!M(+MUz#Vp z!9*+#^faNJf5L()+{hEg*2c9(ZrZdreW

x5jg6 z=O%MEepeU26H6eZHiSb$Ij(>W&E_>>V>YS6^&a|m*zhzw; z?E9*JX>$AZz6K%rkT(%2-?!pw#<+1C$UCEi0(9w!0T5iQd%n^RlmekGI}#N|462hzi&tH|7+TZTzV6JS`+cTe-*t5_ zn{%=1eslX-E!TbcTFYSa+5?GfplX@6@2)a`d=iy=vLleWXMe5ZO5FUwz@;Dd9Au8Y z-BVEbXvrJBIiH-$+EnvPQFiCSwC;C$Zq!ybXD@DQqO(rO xBN%u5^Nd@^knY(je^xD*cgGJHI?Rva%-7eKpWSd^b@&^kbb6U}e{uE7e*yg|4FUiF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/andesite/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/andesite/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..d778cd13e3431483aedab8a448191e1fa7001cc5 GIT binary patch literal 2295 zcmb_e4Qvx-7`_dd444}*l%UA%(69;D`)jYgbKMW?pcOiot+Fyex!qmY+tyy`UDs~> zjfn_o_%UN)xB<>>7*sUjSI{XS!%z?b!=gAq0ZAkXhKNQ${BBztFykl0CfED!yXSr1 z=Xu}v`@UP2pEo&S(5OKW1SQz4mI83k0v9|m4*WMaEm#b0@jmNx1%d_-*RB|7UE@dy zihE0PI8~>8D$C0r9Vf^oqAuj|0W<`qXNG(nUoNU}iC8Lm&B&EKUm&m~n2{ob9k=^( zM7LzE_KStpc@Dn1oM!|iGXqW!vA}^xR5>{0sqiXn$c%LRWx-gR#t^t0qL!PHY%L({ zwCBS)vR{N59f9&VPQpe;$I%>3G4uqO#7RAdQy4*_xRKSHSdxN!e+UTY7hG(CWm0c2 z@MK2Zs_J7gEEo*xf|O47mtq9NFc?l^B#8n9s#JMZE`)lOu@MgzQQ`fPPnBdZta;>0 zEm_HBH?>fsf*R0e?kzaDm6f3eh8aRRv&)DAwne zRatS%_i!D3eOCaGTf03Pqfag#Pc($0=2ik3y$R_PtvITDB32+Oa=_1vxs`zCSWS(O z&GCzzD*GL>ToI{MeuOei8gv8+rxr;8gB`V1Z{{vfsl2#gd0B6)~T;6oI38WOL*S*$)B( zc2qYDyPdUp6_xYyqRnDPfM}g039R18yF`oe{kK#B-(F7ytaU&VA zx5#`zD{aJH(CjHu;Pe84y2KI=HPLz=<#38YIgt~o5<$-pf)KHP$uEJm#Z^4AA8o~H zJ;7Qf1yrl5cS#hAb9zS=65QPeEXQl@ZAN<|DO2GcEO%frnDiV;^*j!0CO;-2+o( zmm1{!VsX) zPl0V(8%7TZ@DM#>L@!8`9~>aLL323-#SXPuvK{V4m)8=@&*8~SGT%_i_+38uY*L%k zArl9tgA%&kp}8@?#z`60x#%jgqT^noqglO`NJ`|;30nTM{O zxOM`2Y*r^>sTZ4wC8pD{8w0tgcBH4z+qZUn$H>J=L!|W^HoUes^Qnf`H^0tsCVvEl z=Fd+VvVXyEn;Ve9Pp(d??aJt%m3F|jHD$%l)YflzBer4VjwH|745gfG3}1J7!|aNk z-v!RKG$45+W`~`ZmWMCw^NxA@S=;UQ$;S@asNBY3`JD;HMb@t8#yJPykqP)_N!5?$sHqG>QY-n z)qg*pwXW^+Uqb1zt1dDxrfmu=(eqnBiR*Z#a3RG&*H6zjRQ|JR=&0gSD@A9ozu07M z`(ek0OFNHlJJOukQGe07ZvRhsS)%jD@cGY*wr*QIqu+aVzfL(F_w>OTEp^GcF!Q;Yo zx-4Y XRxRD@NJ(wiK22=7d6q2`XV?A<^!*tp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/bedrock/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/bedrock/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a92a6467541a42cdc0d5050433f3d4eae9bf74 GIT binary patch literal 2226 zcmb_ee{2&~9KZ5ozzDd(lnE%e0}>Rj_oLVA?p&c`9jrjN*)Cfb0lD72winvod3Rkq z6dX8F48jt~By$WyG(-dxM1}B&(}Zk-KNc~7{Gk#C{6P@Ik027%cU{{6G9biD?%un1 zpZEEGzCYf3x30E&{+RrU`3QoH@l?5euyw&39hnE8+qbT2h0Q3ns!>Of(c{hAf^>8i zBS_wQxh`M?yo-2IiCG0n2?A>>rb0A=l+8)0g18(QXb^0NOYx8(1`GjB#iDVYPdTwPFAw|XFoB_Ih_T#>m7509 zfVUQ{P&9yYRtgtMl13ezRbU0y#<8lR~`DJuhPn zzB#doVW>PoB$G*N(q>h(FhOw~N02l@(>O%ndUMDnK;3S5h+0>C@X3Dlm<#-4yPuxXxg|W5+Dj+&47^<_S zRd~I;C$1YpTm&As6N64$Wm)1GhfM&bApxfthQ@<{VQ@jPOE@V2*5PoJk`!al&UY(f z!c1*;z69s9A)6pkArTjCqywiVCWLdW7{cu#Daf&Q3XnD~JHJMg;o1_SkIZAPII|}B zDp`lwYR)VPKX@tAi^^!a40u5_%iD>GW?q4WWrpQ@MBw2(7@$o?03^Lnx(8so5;Bs4 z2Fk-QS`V%#Vlef(&~$(86cr4HxKaiW*%=lm?F_(6Ss>zUse@$gLBNGr82!Pu+en^b zvi0{!+B4*0M2Lq0+%5_1(Y<-NS{%%qyH?Zx=nY}+k^@CX++Ba^Z@2BJFqP>cxJ{eg z+yMb!az_k^!$4{90Ga-?eKmquzV*1v>msW!wo~!1$)dHdHmt8NY(U1g6ot>{frVq+ zO5PahKUh($S$=m7A5r!G+>P6pZjcI(0_K@nk%E1{&I85jV-?XC2ySx zSXwrZL)6*Z3fGpL3SYS~c}ds4S&ip6UfWf8c>iLn1?kio@6hkL)`D}3Ui3R>ue)Wp zZ2D$cH@NIOa%j|nYkzJ*d_!9c7R*`patCPaxUhXj-&xPGtK6i5p1nW%+kL^kf%oKz zw%Bj{sEuVc@3vfQ`l#jT=EVL@)2QpprayZ9MTd3P^|9-@Q$1%2JN1>n?&_|2dP+mf z)hGJ)9v?S%@yb0HI{H1wewz1PedU7gDC-xBmpa=v9PIk*wCZ}N=jh{aZtui`#T8xW zrxjc-Y!4Jw)}uY`JFXAwZ?0b3nP@+qC}X=|v+~oD*V;CIBGtDH;ilZY^#zf7VRtXu zKXumIt44DdNBmv3wf2Pl$<|j|r?XqDce^&=HJ4_(O1}DM*Mt+p4;=499{ijz@9?lm Ujq1rh^RL2FS?%64ciEbM0kSgm8vpr)dPNJcMS+ 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 X^trKLbr+p9z9D=iW!{g97Bu|}Dl+YN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/clay/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/clay/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..67156e2a079ca122897cfd2d6b31f79ba308a849 GIT binary patch literal 2302 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 Gvf^K06(Lgq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/deepslate/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/deepslate/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..b7266e2d9855bb34f59f0841dfde3197f02c3d62 GIT binary patch literal 2216 zcmb_e4{Q@v7{8$cq7%X(vH|fpgp9!T{LOig z7Vt~CRT`LCRp1e-$^=%#CQm{qhB@dU2n-$#2LrOsg&kPTF9*lbX#zuI5Tne2Wkv&{ z#jZj$OVI$znkZZ#NgB1WCZ6FLGs{dsX_B@Oq?w>-oV0NkJ4c(*_z#2OG||VoojLJf z@X3Ms4MXJ!A`}XlLS~bql@b)ovII#JG>t<9u2;$iAI4>UbdLuo&;?CW4M~yFs7Kzb zlp78VQtj3dR1Tv9YT-zRqv^Y#uxUiz;2#PW1u9e z#=_;|@?_oMWdY_uqL_{_XW`2<`rlQx_dEk2xO1RrkoiC&hmQh+qGJ@(Tz39cQ_$@;Z z&xk>D2Ug_Ft?u_r&eVpZb?z+#B3s)|k6bn9*7Dmw=B6`6-@ctOX?&7JTv-`x=}f=gzvkSOtiR3McMqo6X=28@OYh&T zO761AwJ8+);nquky*TQ;C;udWp~Exk{434wamnoRmOj-DJ4Tz|{iY*wKJA^a3kzo+ zPP%qRfBm0fsaGA@Gj^WZw|q(A3Vz!cjge~yK1Nc`we2O=rX3x6qpR!0mDEA7z5%C!X3oOUby{$6aqj x%agXX4PVtzed1zr?wpMIH~Vfjp}Y4dWhP(#bx7*=j_9{UUUq?V$CPM0p9=s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/deepslate/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/deepslate/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..4606ef85c7e323c0a53d4de93dce9ce568513385 GIT binary patch literal 2201 zcmb_e4Q$j@9PfoV#$X|lp@g8+jv&H%ZST6?wQ?}r4L0Rqj)iT=fOqY?yK;AJZF{@h zLX=M(UsD4C16vHpKrjPT5adG$B10ocWC0~IP(B2MVnQMii28cFy8sR$#7la8ef_=P z|M&lR|JQ}(6UOD{49vkWEVr!GTY>IH=)$wJ(Er+&*XE;JFRir3z_8x^tjmV2Y94@L zSxe-~YO~rmUJ%u&9Z0Gl+7nR?p)qXa=!6EuFf?&L49bd!xVn2Efy;fULr=1!bc_qL=c50z!TAkVh9Njk>nN7*qWvYJP9$w9%77T5U=)? zagel2VBLbliKl)9GN(%cp~5>hWeh!e zh>&S&0!78+aeLfpSM?yp@H|h^4$9#m5rQ=86%!;##mG-Hc%dQcvS!Mvf?JHhuf|Ld zfuwf%5Y;lYijj&FiWrpu8pYUY%cmqz5;Hh0rbm*-C6R&=7=?;yAS{!?Y9ZBBjgWdD z>dfoA44~Nhd>I?vYKcZOCJeKr4!MyENVjOCvR;E!1vJ!{F2a&JBs1UgMiYv42uxM4 zRMkj2Q{`#NxTDa{IPhUrvLdN*C@LBWnBak6NfZLA9tFr_ISPW1(v%>9XW}Rns}WU4hLJjFQiaba zlqrS@6cLtrJp^*vF3XbOckxa(;1)@j$U~CjSdruUhh@Kn3dY} zdI_y}OMZU52qMz|NOu>^Py=Qh=x|IB zMeD)!MBPul0qXu+yNhw5*1@<*mh;nOAz+;(?-E(k&pII^N*wFrxU}!xX?M~BQ<$#5 zN79}OtQZ1H5TbTT5s&W8!`0&bGI7st`X9ZatS;GAWYoR&mwb0eM@6YjPN6n!4KoJ> zddM6xP(gvx(E-weeK;P&Y@d{Q$5e*q{Pylg$^kmBWa6eJhkGCWuC3skSw%Ic250Z< z`F#H9{XNb1^J_27J~(%8_36{LA6m(o(}v`&9v&>it1j+c{9bI$ADzb!M!0K-cHWp0 z{!(+V+cX?&YR^A0Wfgnv=AO{)txcaTYqS?;ZCHOQq_11vxNS0arS8o{-x+O7s}>F& z=gr!`k!j63^SLYzI^=G?HG|!ycARfKjERF@%pLI7;14$a`tymEA>F&D$JuR5zgQD! zTWWMpUe<4Iae27^FGBMTOjWP8u{`ngoMTf%mu9WsKAG?}HTKCip88(dvA^ovA@@5& z$1U2mdCTMa=GMzX!Rgu&=YO18J-qdq;PxrD@{_TSf+rT==xlqV)sfecr(=7rkKgd^ z%jfoP7?xAFd)~0@3jpBRBu-Z5tczzc{OU z%gHnB>LV9dj{UgFd%XXJn+1RMp?|8``TO;)Q|*+!Bha#st)28~FMioqLyjuP<_C8S zT=8{yLGvrQFD*Dfc+KBSF0~(feZ32h**0FzEv+q@+0din$+uT^&hB_@-JR2;Y~sW# V^Jii`vdU+=!Q$J)E|?zXlI zF^FI^%oia;d8inM&j`a8vY>!6P~uSB6oh49d__gjU^Ebo-*s&>a6Ce6a=q{V_xu0< zzyIU=fA`qj+PjCAj4Qz~Y-n|rFNp55(S;8#LjNyresC4K6{}T?bPOvUXG6;>Y;&$VN{Y`#M$-_2wW0f#6nwu4yaxj zld76DIKQbjBsA3vPLXiW!e^#tHt$6lFAa|M=;e)<8S!d|U zMZ^q48(dC<=L;+MvZV&P9QOahQOzp(8Al$Eq>KQ1qB` z1=IQ0mpDMV4FvK&2IP`RpP?Lq)y>ike0Q2Dm0z6!?guB>;+8N`NS&R5?oE`8@JoC9Y`5F=A)Uum}YB zYFRgcEWm1?i$FnJBuV5eB4SvyS)F9K!pV}XlM9o8cF-iS*;p&*h&aNukkj`mLW5b_ zoW6+kIV%(aCo*INh5=b&=LDpW%mE0XH7s&YMig`U_i7T_TOfYJcFY}T_5@!g>8M)i z?3S1hAIPra5}s)T9tdW8y9mLoD?|+X#L@s6xV{Mb^pi1&j9#VOeK1{#7)hYP$|%a# zwfl*>5_=sqUY)xGFald)x1+)d4iY#yjsybZAZ-j=Au*xBAkahp zh=DRnl!gwF-WR^=#;}4N)xOG5?4dKyw8{JFGXM5@9fwLgSAO)Fflr%=)m$t*{pWu7 zx$!;w2iNQ_UvR8&bo&gveXIY|HDw2eeX_`NXhG`iH&F}d7{j$4k2kOTdUNSMW^?V+ zlZ&xa%V&9~uAUN@SN8gEA2vliBV5ad?6P&w8A*)rPrhjo7V7?ZPZ8F-ZbpzR_psP5 zTSt2F#ci!!PX)a{PdjRS`Ev1ywFSXt>K#H`s&eh*Th`C=k0ibwg`I3^>*-n-lsiu> z^Q?TUxMW|?;u8}lVow}Aa^HsG!U@OL}6Z8`aaJJ9P(csrN>^AorJ@cMRp*N(Eci=B&Fx;crjAGOLeq^9|I z-;d9h|2?)TGN*9)ZKpPVj`iOBSA^S}EO>wH&~r;xDE-9Wk5_HKtUg^TyUZ_#YJaWo J4bRe*{{kE{>VNGG%r#)$V_3kJIouaZP zn{F{0A~;bur)ClNr({!6Gh>`is}ASSrVh>KFaF@nGBc;!S164xsEb*X>wWj#^S!IG|-xBDFXLQaKU~1fd7x0=GTE+KX2{~8G>TtLzfC#wK@@k z`YaVnN|jPuKE;S`HO-24PVIMl0UCl#8GbL#RB#Gx=Ny8^jNIC}2Z06Fj7-p z+AdZqW&}{}*5LL=+&xZRNuvXbKiGQtVz6)l%kdpWF#lf_Dj;c|R{W=cqn zm&%qnS`noZQFQfGs<4MLOzPAG36GmDcv!JYPJPINv(O4>MnYvn2^_`sC4`0|aSAt# z#|a9@yP-Cb75M7jpjwh5$w#1|X;@mJp9*FfiWem}4HOG*+QDI7j{|`td8D#Mmneb2 zfSsm`h0R7;J+eZ37|v=jBS5rT5Ln8fAvJnDoktl?r$}A^bWbOoExAVqyEz0Y(dKA}bIW%3*F{nP>fa`U3&dBRQ z_8-q(gHwdIr~jUbd)PVSq&*G}Y?m1F>}vj7FFsz)Bdh6uRD*?f$?hh@{@s6F?;hGw zK`FbYz&0HkMh*z@5IJHv4@i^*4v?k!$!!o6HOp$rDse8nu`)ROOy-MkXGDMI-ttl! z)0$8eWh>h;0WIjvuDcuE8ccg@=`vI8@tc!;V|-0~(%_xvN46&HC0EohAKIWUvyJb6 zB5~>HMMsMMOe{}6*EpBWO|`c9|H=+bK59DK{=Mg`#^BJe-w(QW!<}YmbyNBBhV{QN zDYxm=L&u2ow{K60ny^x}IBTszY*)qI9WiZ}s(M6FOzN1F1Ql+c(fZTR zmo7XQw6*Bc=O^}7x(?^fSaNXvHtPJLiyO9G8~D2}nAcbqe3v-2YlJnwr7Tz;<4nR^ zx7RPcHRtqf)dC8cS2L#5-17H|hF!Z(ZP#R0#6G|K+q}N~o#@WZ!I;JKT?;z!>Jn>A zS--5r0AQ_}HSN1=%a#n<^Ub=o2Y#JWmK+xtwNYqujR5n9H^oP_7h`8`_*xoFd2z6ktroJ4Y$4zuJjUMApY7exxWEcFfaY}Q!q3=avf_qE6 zq&{-gn>>>kdf8DC{h=wap^X|9v+nrSeM3seh9LD12H~}<&Ws=BO@3vF1QkrqNWIi? zBB4`^%PYIQ;PAnNR!V#@GZ1G_8RaO>zs3}f?YEm1?#H&W34Pe|%#&#Y4(zCHo|?F< wQZ-{U4tGR-IgQRd8O?6lTiYCape#dmSKXL1{r>Q|p)Vb4PJ!jq*JdsH2h$umHUIzs literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/diorite/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/diorite/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..bab461471201235cbd0bfbda62a47c9656c3e29d GIT binary patch literal 2367 zcmb_e2}~4M7#`i$6O0vVsMa_gDJ-e8bL_Im=qkv{q1_d6D_QC% zG#U{T>rsP+VyoEHSR3O77>~v_wW39ABBIe&8?RQpY88XkzJ+C@4IVL_WM z{m1*?EYEbLMGhG?1VNCF2AQLACWR_n5RFne+qSuPu+;npKw!-#i>X)M zCh>*A)b`2?P~I$XTs{j(oHHjvc|Fv`0Zzb;7LsC(6wjGWJyC%6XZS?8w^;Wp>k00- zU`;UTq5`v39NH4Iz{1eTEu!6Jz_5I6SS(l9w`JA(Aj&9EgqUF99?kI%oD8MCx5x^2TcfL%1k z;#IZmr-vi<1m37WUzV3$+pO(){dDz;;f2@Lghvsbi_Z?PdON#yw0WoYr>f|Emp%FB&+Z<)^4 zE;Q9S5VG=JcXMoI#_uu5u8;Ore6$BF9awXPx!UNC-E?PL!{OC&OU&sB^K=$Z@PnfEnlHMjP+M^yiI#$_0g1ZuT$H)d8>&xmI~8}-A8Q|%8N zWeL#{XTBMUWKAoX(elo?dfP9%R?WG54lYL<0P za5qO(FYDU3zan$g;jH|+RhrCi+x#O>#}BHf#)C(ZWRiJr_LO;fmmNnM_y2RRvb-%> zJHPfZwK8?wmh6u|>80Bh|s2ho;YY ca^dfRsFP5*La&DTZEvAFS>6ZXnXBc2pUt) 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/end/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/end/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..6b49bb8265f4f7147b8c8829d8c1797404f9797c GIT binary patch literal 1621 zcmV-b2CDgqP)&Tu%SNQyd#IuBpuU${;YxD0|c`Kbw# zCUDvS2GY86XZXA%>Ol@?_?i@in0sBMlmg_gMj#7u&)S=7t*L9gb;LHN1CQM=h&<_$nm#< zwHBomVHhHWplKSSC_)H9+qPs`#x)@Tnx^^Urq-IaZIM#4TCJF-iPPysp65s@IUbLc zWyvq^zc35~=ku9qnut`y>2zWk1~%D-JkRO-9_Jhr6XQ6NBneRz(f2(7X_}&xLP~k{ z!vloBzA;S`#u$VU02pJIi3r0G=Nx&SV~jy-O&rGz!@zdCWnb+{k_4p`@6|h6Yl^I3 z7zPvy8AZ!;wAR#hjn*1#?Lx{;CLm2y0LF1dDTVi*IF12WtyVm29%$Q^AP8{Ip`>CM z29hLMM*VO&uv)E%qG;*#IF7i%A*JMH_rf@i0C?}|x{fT%P)eb-Mr(bO2@s!ONGS<| zfFwzPSq}hSb}xAEQBv{g@e{@x(lkX%Nf?Hdn-cFm!!Qs80Zr48#0f=SphHcO7pzt* zthE?p2!eoVnwIBI(?r*GS3LHA@Wm@o*EMOHF5;(@0_KiAJv(IMLUpPr)&&wtmSi-xp>125rlIe9x~{`}Pf^Soa5xUrM>qgNkY>!Ow&YN*8s$EOl@kCB%$wn_SK$`>VqUn==zS{_q^}l ziK1vJ{&FBGB}tT!uX6G{CkTS&@ZNirQp>Aw(V=TYOw+V@HO$?grU@zKVvm>KOGc1V zBBjK8zq~fa7?LC*O;f@!_%GYkW5+g`o<0AVNo z;fGPs`W8RLoZal{PvsN)(;ms1vMdQjhz%{}x@2PFqxv8W!`U%(Ow%-sN7eqtdpufcUJhr9X&kjJ~{P+HNK9Xe_`~99E2vACqWf{hpg_OJG z_W@XlY&M)u zCzP5Kp_Gz1j3J_D5dz}`yU8`0BbE}QS#$If8=g`N0w$-YnQZG6a`8tx~`*c zYMQ1YjZ^OK?v~hVN6Y2e#u&8FM8OSQz&Xcb`M7jBAYfnZDa(@6>4f*5m^8i>_3(+KbOz!&-;0a8XQ6hvMl3tIAE~)Ku zpt`LY7&sgc)OC&RE!JA>XsPOoq9~RnsqcHf*?z+`O}u@)5d^^!y)R+xnh1XVMd<$x z*Im8-2l17FTNiL^d?n!41>7263Al9ux5ifjZe75w@s)sE7jSEQCE(Tt+#3G|MDvFO TCS10%00000NkvXXu0mjf<*O2L literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/end/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/end/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..adc0a86ad3ddb5d447c88a29ad97e80e0d3f3456 GIT binary patch literal 1422 zcmV;91#$X`P)BN zNRW{ckWVln$xPqdZM(|vV;}nvm?=O=OwX0NYJ_@awk&(EwfA0oA3N4seh5YP2O9(d zRaFrL0dX8t6a|mBj})hZG)*arf+R_>)-sMGLI|d5Vz=9&wI)k4e7DCQaU3J1l$MW**+tVW9E5AYt72~)?7Xd?rR=e zmW3b)a9tOzHE|r%_dP)n5QZVf7;bNGDXS8t6rShtTs;#60qH))7=wrR)?7Xdud0B% z?2cg=a2yA%HJ=DRaH2SLz<>N zO!JoUs;bDcZ0mWw^}G;UcPU?i&-wbNhF1yDb=^6W>$>9mK2l1IF|=*VZnvZFd!i`9 zbzOuIL@L58hHmU|9EW+HA$)5(KORm!{n-j37>0o`49_$DA%CE(OOhmET~}P;a;%T! zNzTg3OZ9^5x?7niDMeWzr6fx;o?o7MynW=`Pv4T~IYJ1Uror<(thEF|K+`njSx#{* zh~pSfdYqaQckyp7x-5yV>*)KQcpo!O6G|x@$KmPa={&!?uA`_5q9{VI8e80kK4rPd%CW}7=yKzb=?*sr4%pK3y17L+qQH=M-nHO)R#rkUL~G6M%`L9$GL9p| zIIt`W#+XZT2ma{+|0^SRhdYL8+X4eGpr{J6ETgV#Ja5|wrIdtW$T*IKVaV}#L`sR2 zk|a*(`VJw)IrBmY9u5zbO^GpvIF1oQ;5ZJ-`Q=3`z@4TEW44}N*Ogtg!?K;|q?EKn zOQa$!7Ky}h9L8}ZPjdh)mX(#ZYtP$anx<&28OM>fYw7!*$Gb;@AfRpA%|DirX_{Eq zmA>!Ell+pr|0RIdn*03zoMi`xvMR~*oVu>D)^e&(NGbW|Z{Pga3%>aI7bJ0l<2Xnu zc`0AcS$@nPDVuUTL>Y|`g8hC^UDuRlNtR_Ck4J;MxIP8}9;KJAiBBU4Ux`aBaK`aP0uDjduaA c9l*8m4@NJ{Fapi>_5c6?07*qoM6N<$f^;jKSpWb4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/granite/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/granite/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..73b61c26083b053661685f48cb69957a7dd8e996 GIT binary patch literal 2275 zcmb_eeN5D57%wAHCnND=Os1H1HD)f@>&Jbzazo%y4!oPr$rGnfL=Ys|ndc~k_xbQdCyayF#+@~F@b2F}7+jErS2N|UsSAdLh?arwBf_(6L}7 z7<{s0eod2Ef(VDhhOp5fDWwF(FbqM`1Wn@*fvc6G#zk;ZofY%o04lEpWGx_xsP2*T zO68gzgH(q#gygteQ60$>%oq{jWP&n~x~3>l;Nv*CTnR>l3p@dWAOu8Bg;*+%mHmS39n;H(QzTAWJd}~8NtU#xlN3vm z!%&wb1bmgFK}}Ycr0;>krV%)edmvcgS)ZhYIH))f;z|J_i=`ME&m)^71tkRrhU|<{ z7A_a-6jhBAdEj)|F(}#)2nei&q8LD$c${QNfYYSOf_rV06*t;=c-X8w%?mMmhs2lb zrH$DOy1mcH36zh=c_V4XX~E>f84K^j%|5})Sj-e4jZDn`MI`{|78iVEKl+T*dxFgi zsIXdm8iRotIDMR~nG#%98OW>`4VYy!B=0(jhFvyv9G7cf2x%>LNijU-E% zV*U3>+((@Aeoia}aJeL~M_2Q3y*Rd-duG%BsD{v2$>Am={@Z`iZ+ESzu$0kPaGBPJ z@eKk##J3nA!bB->1DQ12F%3Zy?l>J;9{+3o?|)IyvnutCU3KeL99MssT$f#tu{kGq zE4%&d-j)65-OVZe`zrc-YIpZHRixi)8~7(Nd$-}B`}iwOXqVi6@$$g2)7qRGdrHTQ z2}5i1YYH0P=w18!wab6jr?gYf%GR5h=$N@a(}nob!v`{|vithN%}X3D7sjLYB`dp+ zOv$wL+NSt>(i8uvHe_}6b|1>g-#D`~@)`NvK`-?VMKvb0wVuOM77W^p%$2p5#8n0~%~vHooi7Gn-PU^3H*EZ>J|+KYcEv?7)h&Wmk8e`u6X^ zj$`xYA5F;WIyKZ&u>Y@W!+RZ0iuVeMsl}JYCs(IgKB&H(x^8fAXm5GzW*D$Q9=Q0# zuX75gb&Gd4EjWL2sK>LVesc1v)|yYJKfUJb>b0GF>L}{xmeYM7=DA-wa~O1V$4u(dZOJ_a%Ate#7XVfnJZ_W-Gd2@b4ws1X6v5C zbiRBw?aMIRkYBfG`|NoKdp%`%(^pSb@8^r?3(kferfrEN*mZb$=B1OTLgu=xE6p9- z-d&)4^5(p@+I>A&r`A2^olGxjaMW(FGL5@-f4pN2(wy|u&ih|mI~TgUm%o*^QU48b M=DHo9XRliSFV3?a)c^nh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/granite/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/granite/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1da722cc5089b86fb40433eaf45d89f58302d5 GIT binary patch literal 2256 zcmb_ddu$X%7+-``X@x*A@)B9LfEw7_-Mj7G?Y7rad)1b5rIdq~;2)jco!%|&-7dS^ z-W3o9%cD?GD?)9GJcJM-KXaGDMC=Kd-*hNJ2@@Q^uQv@D?7$q(u-86_7 zdh+lLMT0nJVMvjtt+<1;06VbTIQvB0N?Tcqwo#0gq#Zo#w z(8@*l4MXKADijJ?LN<${`6!0tIEuDXRx61Rq+Ss;K$r~biQO99P!}~>HDo1-n;L7pQSI^}pvKe&^=O<>#HcV(DaJyZK1G0%7{jS$T4}_%BvP;x24K+85tfNzRli~= zx?kx90K?0o}lWF2YP3$3 zcszV|P&YtOgxPKvfto6idbf* zwp(68@=i$*iUE=roJpK11xNu35^3jX2G|)$#B?|}IxCg&NEz@zG|SsXh-O})L`1jc9wP8$9(1V<`5{vJh;(F4U_BWKT(phuygU{-jMOEi+#^vt@AnjSmMM88>F-HN4~Gii`8rw$3%3 z=btSj&bY!;FNRIJU`^RR-LF_ zTitKO`h`oc@n6kmu<4WGs6j}5zil|yieKJ+si@%iG2_ zJwJP`b?(@0Z^^AfE|t*WKH{ErtnuS|ZENP<)4%-ng-YG}KsvfQk=xxIXgWUC)A-_; zA@FGKWbNhc6RYmUjn>_18SityV#d&o$&Y>)ocJuSfBl@PDC-!Ootf+2^?K3be*qU+ B5Xk@l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/granite/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/granite/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a971340f1744107f84751f3f3b871813ba4578 GIT binary patch literal 2275 zcmb_e4Qvx-7;ZCzG9V78NH8SFjS0xE_t&+(bKMW?U}JQQF=YaVeZBkI9<+By@3wXW z2N(=u7MI{MBIp7Prcn?fD#Ahr;b#mrf(lH2gz1nm!=HdABy)b(tqqv*6JnFQ`|i8v zec$JK-}n2zt}ZT`HX?CMqRC_$QIPK{LCWqO%=1}`W<3lJ3#v_yg`LYqt(SrHWoi=d8qpih#W__dZ+9Fs&RJ}2Ex zxz$|gm-4GaaCUW3sZhO0;6ywt6U&J3$UzY50E+|zvc^Z8c+@YC#>O;>V^N5{$cg6| z0kJZ7F_x=@AjVl}LZB!HvvU?;12&ekrC|)kSV@W{X@;Qeyw$-oEH?1NQMi!kKnOysl64RvWGyA;!38xTB&oWj$e7^~ zc$5m=i6g508iH!vt*i~?31y6o0F|UIl%XjK6ooiWtq298!9{_D0T_g`t|2TP$Etos zS2VwJAJ_5E_XI$>b-Uv+2IUeA#zSa&UL}$-kdQ&qT4|LE$r7k36(IrURU(=xh8mU6 z4MCtQp;AQ)%Bql_`>7Mj5(&XHtM32T$?vVbn2Lnm&Oji4!lvX#;-&rm#NpG?s_ zMfF47iYR%j27_AdJZrrNike0QI(R5p6nL)^3Ie293IZP_RoRDQ@jUXmN z!YFObUPSg*7K*?s(u5a!0O7D%1p-hkM*s*Q>k+LSEs8PwnIQ?SEf9EYKgNnPdVhY=vzq=#HKegi_BR>%-~Nk!yK6^9rHoFYZQ2;d z4+!)UKVqPa5*0!RNTmK`r^#gQEpX+O`d3_8+gfV*xm$`) zZ_Ho2r$?M{Zu6Dq$}4A=<+OZNnLN3peM?{V#tnr_icS|k_rwcVlgMz}iuwGrztuH$ z4PCipLF)O`Z&r0xHU8asF*#*;?yo!V^yHNdTNhc@W6GFRSKPR?Nb7rY8@A#2RZ~)1 z+OiJDlXdb^*)#r*N#+Z@t#N_x(y5Veo!#~EjVbc-{Yx_&j?{v(c{I=%fS3keqJE3tw-K%5Ew^vW}=(Xc^Cu9=et+LO&xoKlb&BVFa z9Nx~}J(c0*{)CLycmL>ce$>s|F5Xy7Hwj|G*E^4H!!8`$PCIW8H}!Rgzu(hWhXNL= zcP^*Q%}IJa&~idpn3H^JM>5S%wJzV=1AaPk!q;?e^}2eBKU`MDt$(L$^PyYw8n%8h zege^aen<9;l#*FvE)OoYcz$`~pTvEK&z#CX-?TpM{gQU`QwOe((K?e#M*c9Xq4vu| zyGx@sJH_TyZr3Xf-;Q51`|_xtGaT^dh5G5cj{MbLg&WANUVnOQM&FFIDg4nj-O6>#v|Fsc_Pr6=73NPKe82hptxsp2snIB4 Q{0%9{D{_4{rToo*0bENRK>z>% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/missingno/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/missingno/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..e96fd8dce19b516305ae01cbf941df8286721c88 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W@pb zr;B4qM&sKVx4BvjcwEw_{rj(<9)G2*_Qo;|zw9E13n3{IYI{A5oy8Bm((T`Lb<_I1 zFnP6yi^UeG?O{Cn`O?xGhc6~M9a2}=!?;dthtThvw-sxc4oN#S-`#w2=jwkS(ll$B z{;=IB` zVt5by{1S8g+8v#p(GMDW4~VNItYAIy|Gc)-b@_$jlcg26GMHvIL^aGZanN<}m0AFF m3~vB;z+|=+tSdP44~X}E2(?K{V7LJEAA_f>pUXO@geCxSe|4Gw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/missingno/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/missingno/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..12e01f770c4d053ce33c0789c4d42fc7c2499ccc GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W@q2 zr;B4qM&sKVx!lbL0?m^z{{KIHv;Hot#4lY*w_@c5zGw+KtZB<38iS{+ KpUXO@geCwX+;!Lh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/missingno/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/missingno/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..95eefe08b1971f90848924a84a727ca242291f1c GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W@pT zr;B4qM&sKV54jF2@U#>k{$Bs|_WX6b4yGM>bW>Gc1c&l8KM?)#CfS;P8+ z`9a~=EwcmnJneey@L}ETg_Z9r{r%&6v!zXpmE+WAiyiHgzAf?adV^8Wx+m$U4>!F3 zoc>jGNAv@h-h+Spz8~h<%J8AO#{I!BzWZwv#oHM|I*!Az?qvUw+qq!$gA-IGODk%FLqK#)XK70>z4?JuvYDzw&Ut*Pr8 zDJ4=$lv2#|OkLM}_x}AH$1y?(thHEc5khdeTv)AEbX~_h&nTs6+m`))PusRgDH(== zq9}NHc;NdVe(?ALbzKuh(U*^}1`z}SecuCMjA0x{thKalOI_E*aSXsTO*BnIUDr(0 zgp`u?dX2Rfr4$Q6#u$pCKnTG&j`+ThQi{{*^yiRXE&Rx9Vwk}+-Dy6gyofN>l##^8A#S(Z6stEzG@_I=-dFZ;`~ zygmT{!!S65;J0X4Yl)%=&-2`8nkI^(V7J?`*=$fsad&s;BHT0$X_|6ApWV4iDR#Tv zt9M8#0qFalAPAVI39a?j9A6;9FhmGJ-}f#pJADVUEltxf z&ofn3;dvfXN;aDf<2VvU5lShBVZd6;<#KTjE?EV?5mDDQ^E_YKeGp|?BBjLleZnw& zc__rIh~#;Wwbqr15Q3&@Tz{D7nayTHRaHDbJ|cv0XAZ-FQi|1T&|2&k$GW6bplSbi+gSR$;HdRZU@aU8pPp63~Bt!r{^ z+tPI%Q4|q|Aw^MeI-SV#9Dwb1%lUjpN=ess)OAhUwyyCSV~|q1Qo1%&(=>!(=yX6F z$7rozMJ&rQ=lr4(mi0@WFUI@6PY?vOZA;(xiysQI;iDRk@U{s*25KL*Mtrag6W#JUl!w33VHlXEiOc1Jl#;rxIiJriv+nQjky4UnnbQr%7}p?|-g8Z;s;b!U z_fFw0(OV4MY&PV1&Od(s8Gt{2^_9~DfBo@C0RHs#*RFY%W$8wu@B5@_ic$*C^B9H! zAq1<{isSJ}nx^!9kJg&1s@QI~S0_N+-Q781bANyDWbsnROX|YQxHHC}wdU#R$<6KM z{;-U(MHUxD!933tMd2m}yo}Yu;XsXCX`Z63n--s zf`BZ`+*n((V^M&+-Ht5Fh@yxjN%;KvGxI!?rYT_yCR4#VI^VUi?h zttrbAYc1nAI_IplubO3&B%DqseBWog-Qsy3kB^W1^Os+)+5@~>+`#^qApY}`|8Kkz zaBBl@jW+^rZNRPZM!>BNxHaAgxU~Vd#v1{*HsIEHBjDBs+#0_EW>ZT@hmrAR00000 LNkvXXu0mjfV|(5R literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/nether/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/nether/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..def2df0e8da947d4a2cd7f9e0e16f897c75e97e7 GIT binary patch literal 1504 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 FV1f=*ln(#^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrocktamesit.png b/src/main/resources/assets/petrock/textures/entity/petrock/stone/sit.png similarity index 100% rename from src/main/resources/assets/petrock/textures/entity/petrocktamesit.png rename to src/main/resources/assets/petrock/textures/entity/petrock/stone/sit.png diff --git a/src/main/resources/assets/petrock/textures/entity/petrock_tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/stone/tame.png similarity index 100% rename from src/main/resources/assets/petrock/textures/entity/petrock_tame.png rename to src/main/resources/assets/petrock/textures/entity/petrock/stone/tame.png diff --git a/src/main/resources/assets/petrock/textures/entity/petrock.png b/src/main/resources/assets/petrock/textures/entity/petrock/stone/untame.png similarity index 100% rename from src/main/resources/assets/petrock/textures/entity/petrock.png rename to src/main/resources/assets/petrock/textures/entity/petrock/stone/untame.png diff --git a/src/main/resources/assets/petrock/textures/item/kibble.png b/src/main/resources/assets/petrock/textures/item/kibble.png index cdebd028524f81d025a337328208eabc7371b55a..acb66ed94857ca4e4c07cb9e5569da080c968d3c 100644 GIT binary patch literal 1682 zcmbVNe{9rL9PfSzZa7`CM5b|B=`fCrUVq%}ew3?YyAE&5ZX4ss#*B$??YmvQyT00X z+-)&B)F3EGG8ZC)Wc;(Bi!K-!1S%jycX2r^1IfP#9UBbCrGnjrjjDILf$XpudzSJg!7*Au5GQdLB%vo^$r^Z<;i z!2ttq8E6g512NgBP<2m}{*-_T63_xTQ8!SE!u~ zAOn&<2S>{+%ab0T1Gs_P>2t3qd6suEtdrq*n)L`SufRLW%tK*uh7u7vq)i!NcqdX( z%hCmgNhXtyq|Em1U5iDI2P8sYoMjM$m)$ERn*h zF58gMbF`Y7@e}qKlL9)!Iau4KG*FRqIK9t^r-dsr1LH6OHOs_UE{D~l$U}qRnu>4w(*UqCP{0joY!BRkk&{5HKLHkP${G zo{dy{R%Mc}b#Odc-KlB{N}B6#y8$I&L6Net7LHqiz05TsyvemOsNvpa z;3jp6f9iLF$O|?}^hQYrCkMC9&92@09y5XU*8_r9I~k?DDor?CI}*yDkzhi(Nk+ zsMz;uX~W^_>Gc=7<&SR-mgaZI&en|0-S|^^j2x3Te^4(4hsvcws^PiOuJFYpXV-%A z{JEBvp?BZf%e6NH;iSCdmFaHh;hTG;LgKygD#Dtdj}3RcRQbuQXWu^x${U)mqMg_0%Qm|LGsmMN zD`5ZRz_B8MSeZwxyfIajcQi%({MxPARZRY3S?AK}%JGZGhKh<{9 literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlC&YG2M!!LaztKU ze(sz(d-m*Eyl7EbS((1R{=x+dPMtbcQc^N)>eMr*PHoz-L04Dz#*G{I?%mVY*50>o z-??+=l$Dhi%%5*;Y;0<3x^w5wWlNV{xpGBXTDrEjHYX=%>5?V3wzk>X*}Hb_TD59b zMMcH7EnDWyo;`Ky)N^Of%$hkL1;^N|4wrnvpG+eZB;e!Vcs;a7%EMBats_N?M+S1aZsHk}1 z!i5tjPF%Zo?aY}o|NsAAlOOB>^r=@#kY6y6OC7)vrM+JoXzChI7srr_TQ%peavgRM zVYzU(*IRn}uHCzEF_BH%liqEGSE# za&e>k4b3(mWBUVFN-{VErz)*jca%+Ru28UrIE$c%%%(ra3)q=B@Av!1NXvJ!TP$dN zq`@RwbRz9k?x}AlG~5@=p4D_RX7h|0Pvr}9m$q>>{^0DLGl%E))hB>gnnE`}@bn#=d*^E-fuBH8pi>YioUd zePLn2%E}6d!#O!Q85+kO`EiGlU*_D-*ZEbA~2BWpLl}@KKnauI=aW0qJ(a|w6F)=+o zU0q#0H8oXHQ86?$)Y;iNGc(iP-p=FkC=^OrSy@+Cmq;Y4s;bJ)&aSVo&&kQ@?d>fr zEG#ZAuC1+IT3Sj^Pj75&92^`Ji^apk!$n0!1qB6UGC3}*R*3z0}1 z7#I)=g)*6Jb#;|MAZ%=G)YQ~SrPAf)NwZFeV zKR;hmQnI)d2;5 zTXhY*X;;soe_7P`*@e5EH#I!P0-q)Q_9zYZ^NHMOtPo+>|kI&PfnR+^Q+k} ztuGxz1r71cHjr)jE{|ciHy0isd{>+MqC-h!hJOE1Jely2TKiMa)3foW4yAKbp}txo zReaj7XczluYF;E|U2DO^72{-{B_DNRspa@xyxIeX<`<1G-pu@Fn4U(Zt0n7W@*OuR zCdmM+=Ym_9QC!wr=;49>!1{XF?>-m|IAg&cwAT@9L89Mx7U)1hC>^tBlPibrxhVzJEq3%g z%IrnIz4zPIAd_Pap;@tOE9_9>n9mPbw8ae!?R3+r95`&`r0?qh`3beo_SzT8*i&RQFC2Fj zd+AWvt znKsoSv(KCe&`!w;C~PSR0;5(r32bO`p6$Xyi217I%h K&b3Z~gnt1!k^f`> diff --git a/src/main/resources/assets/petrock/textures/item/orderform.png b/src/main/resources/assets/petrock/textures/item/orderform.png index 9fbd4bbf1255f93381848c2ece658bd685c61adf..bd3795f3f8257713bcafbe58f5ad0983d88128d5 100644 GIT binary patch literal 1669 zcmbVNe{2&~9KVi17&yu0`A zKHndo@2`8RyK`;jvf5yP(u*q z=ag8V-52culCHX;tPde~S~W15AX-|}29!pSO%9=9MH8uoLx(9+kwt1_Q9ucX4W035Nc9TKf zM5N!%(Gtt@q|fh$Ug#D4-bRvVc@M)149C-~4|tjZFOY?c!sbjl4thds3dZnBq!PAm z0ES7WQtp)C*3Dst^ZWe_%QHMrV+3uDYc@>NnpIcS5JHw@Du%7-8tG_+L;9#KQrOiz z2h}L4)vQ9CaKxB2G#Jj!I-GJqSt{X-Q8Sq{E=vqbA{A-2g|S=-Yb11Aw-Wlls4jiJ z!T^qKG+MH8RbN!KWWuuB$1sgTK(30mV&ev4dXS}$ni6Us!*13&Yzz=I5wvwPrt8UK zrn-wRlYEn#|j1vIo1Dv;k zdI0AKJbMKc7mW;UculY@fw*p}5HnU(IE)xW8>Yxo96?Y|>Lxafy%Ta?M57?0SvJ%p z6bXqGChb-f83;nN*YD+hv;bLw=7&698nQB?*&#pgjZ4Vq;pC!xNS8*P)E4FC|0&;P zD!8{`^1Agn9p}^p2rCxO)_9>M)}sdtyQD(q$^bygDQ}UIoV+5;Apcsq?g-@NQwfBX z{ztm=FiVfyDQKd=Fpk!>>xseMGfpSwi7XyGbcq04#^i6GDk(G;Aem*)7D!(~U-&B8VMaR^WRWsbfr?%fwL2deR`YrXfY|EqJ zc#yp@sP?#i|3jSkcK@8_>T^GL?2Pr$sV}<97G-wNoHo+Lnldanx$h-8KDf7<;@2$> zZ`=I-f~$MoX9wxY%C8TeW#+8|ea4|V1`q!+a+A@o$;E rQ&Xoe$Xma8?AdqAqWzctylvrwj$OV$?_C$2A4R0SGxWyl!A*YwSM@Ub literal 483 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 diff --git a/src/main/resources/assets/petrock/textures/item/stoneium_old.png b/src/main/resources/assets/petrock/textures/item/stoneium_old.png deleted file mode 100644 index cfdd808de03e1ca19609320777d33ab54cce58ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlv$C>sa&ig_3-j^u z2?`2wad8O<2&`VcddrqA>(;H?x^?TOO`A4s*sx~J8lXM@|NmFEc((}1QYs1Z3kGuW z0|wp;hYNwKJ3U<-Ln?0d^tYg7ZcWKnG(9TbFGjV7rVC8(IcMSwoJB3;g;8J7KAUh5!iIV-=Sxf zj@*^dt<@%zmv#BGwmjl_v%+frx$T*;np+;<$>_dp&BIwEyU~;VQ2p~b8&(Mh>E}{8 U`l{-ufsSJEboFyt=akR{0PO^x761SM From 5d43e2e3dae297e78e494bd72778c08c3bdd1151 Mon Sep 17 00:00:00 2001 From: manmaed Date: Sun, 6 Oct 2024 17:28:44 +0100 Subject: [PATCH 04/12] Patchouli Book Fixes --- build.gradle | 4 +- gradle.properties | 2 +- .../en_us/categories/care_category.json | 0 .../en_us/categories/order_category.json | 0 .../en_us/categories/petrock_category.json | 0 .../en_us/entries/care/heal.json | 0 .../en_us/entries/care/tame.json | 0 .../en_us/entries/hats/hats.json | 55 +++++++++++++ .../en_us/entries/order/order.json | 0 .../en_us/entries/order/spawn.json | 0 .../en_us/entries/petrock/tame.json | 0 .../en_us/entries/variant/variant.json | 72 ++++++++++++++++++ .../petrock/textures/patchouli/birthday.png | Bin 11470 -> 0 bytes .../petrock/textures/patchouli/christmas.png | Bin 11636 -> 0 bytes .../petrock/textures/patchouli/halloween.png | Bin 7912 -> 0 bytes .../hatmode_actuallybear_birthday.png | Bin 0 -> 30204 bytes .../textures/patchouli/hatmode_aprilfools.png | Bin 0 -> 34239 bytes .../textures/patchouli/hatmode_birthday.png | Bin 0 -> 29827 bytes .../textures/patchouli/hatmode_christmas.png | Bin 0 -> 26215 bytes .../textures/patchouli/hatmode_easter.png | Bin 0 -> 29631 bytes .../textures/patchouli/hatmode_halloween.png | Bin 0 -> 21815 bytes .../patchouli/hatmode_loneztar_birthday.png | Bin 0 -> 40360 bytes .../patchouli/hatmode_slowpoke_birthday.png | Bin 0 -> 23853 bytes .../petrock/textures/patchouli/health.png | Bin 416 -> 5433 bytes .../petrock/textures/patchouli/lone.png | Bin 13297 -> 0 bytes .../petrock/textures/patchouli/slowpoke.png | Bin 9461 -> 0 bytes .../petrock_care_guide/book.json | 6 +- .../en_us/entries/hats/hats.json | 37 --------- 28 files changed, 133 insertions(+), 43 deletions(-) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/categories/care_category.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/categories/order_category.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/categories/petrock_category.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/heal.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json (100%) create mode 100644 src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/hats/hats.json rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/order.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json (100%) rename src/main/resources/{data => assets}/petrock/patchouli_books/petrock_care_guide/en_us/entries/petrock/tame.json (100%) create mode 100644 src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json delete mode 100644 src/main/resources/assets/petrock/textures/patchouli/birthday.png delete mode 100644 src/main/resources/assets/petrock/textures/patchouli/christmas.png delete mode 100644 src/main/resources/assets/petrock/textures/patchouli/halloween.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_actuallybear_birthday.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_aprilfools.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_birthday.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_christmas.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_easter.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_halloween.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_loneztar_birthday.png create mode 100644 src/main/resources/assets/petrock/textures/patchouli/hatmode_slowpoke_birthday.png delete mode 100644 src/main/resources/assets/petrock/textures/patchouli/lone.png delete mode 100644 src/main/resources/assets/petrock/textures/patchouli/slowpoke.png delete mode 100644 src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/hats/hats.json diff --git a/build.gradle b/build.gradle index 0735bac..6e278ce 100644 --- a/build.gradle +++ b/build.gradle @@ -55,8 +55,8 @@ sourceSets.main.resources { dependencies { implementation "net.neoforged:neoforge:${neo_version}" runtimeOnly "curse.maven:jei-238222:5781938" //Just Enough Items - //compileOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}:api" - //runtimeOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}" + compileOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}:api" + runtimeOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}" //runtimeOnly "curse.maven:CP-267193:3915811" //runtimeOnly "curse.maven:${tk_slug}-${tk_pid}:${tk_fid}" } diff --git a/gradle.properties b/gradle.properties index 10b9143..dd05d34 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ mod_version=0.18 curseforge_id=230556 #Other Mods -patchouli_version=77-SNAPSHOT +patchouli_version=87-NEOFORGE-SNAPSHOT tk_slug=tk tk_pid=324888 tk_fid=3827921 diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/care_category.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/care_category.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/care_category.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/care_category.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/order_category.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/order_category.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/order_category.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/order_category.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/petrock_category.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/petrock_category.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/categories/petrock_category.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/categories/petrock_category.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/heal.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/heal.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/heal.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/heal.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/hats/hats.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/hats/hats.json new file mode 100644 index 0000000..94ef8cf --- /dev/null +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/hats/hats.json @@ -0,0 +1,55 @@ +{ + "name": "What the PetRock hats mean", + "icon": "petrock:petrockbox", + "category": "petrock:petrock_category", + "pages": [ + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_birthday.png"], + "border": false, + "text": "Birthday Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_aprilfools.png"], + "border": false, + "text": "April Fools Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_easter.png"], + "border": false, + "text": "Easter Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_halloween.png"], + "border": false, + "text": "Halloween Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_christmas.png"], + "border": false, + "text": "Christmas Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_loneztar_birthday.png"], + "border": false, + "text": "Loneztars Birthday Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_slowpoke_birthday.png"], + "border": false, + "text": "Slowpokes Birthday Hat" + }, + { + "type": "image", + "images": ["petrock:textures/patchouli/hatmode_actuallybear_birthday.png"], + "border": false, + "text": "ActuallyBear Birthday Hat" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/order.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/order.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/order.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/order.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json diff --git a/src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/petrock/tame.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/petrock/tame.json similarity index 100% rename from src/main/resources/data/petrock/patchouli_books/petrock_care_guide/en_us/entries/petrock/tame.json rename to src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/petrock/tame.json diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json new file mode 100644 index 0000000..edd1a9a --- /dev/null +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json @@ -0,0 +1,72 @@ +{ + "name": "PetRock variants", + "icon": "petrock:petrockbox", + "category": "petrock:petrock_category", + "pages": [ + { + "type": "text", + "title": "PetRock Variants", + "text": "This will show you all the PetRock variants you can have. $(br) To get the new variants just right click a tamed PetRock with the block type you would like from the list here." + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:0}", + "text": "This is the Stone Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:1}", + "text": "This is the Netherrack Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:2}", + "text": "This is the End Stone Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:3}", + "text": "This is the Deepslate Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:4}", + "text": "This is the Diorite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:5}", + "text": "This is the Granite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:6}", + "text": "This is the Andesite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:7}", + "text": "This is the Clay Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:8}", + "text": "This is the Bedrock Variant (creative only)" + + }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:-1}", + "text": "This is the missingno variant (impossable without cheats)" + + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/petrock/textures/patchouli/birthday.png b/src/main/resources/assets/petrock/textures/patchouli/birthday.png deleted file mode 100644 index 52953a70e3acf1954c0b594101657c28f76e6b85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11470 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 JR%<&a{12#0wo(89 diff --git a/src/main/resources/assets/petrock/textures/patchouli/hatmode_actuallybear_birthday.png b/src/main/resources/assets/petrock/textures/patchouli/hatmode_actuallybear_birthday.png new file mode 100644 index 0000000000000000000000000000000000000000..eaab13cbb33b143030d7daac8e1c7e31efed08ca GIT binary patch literal 30204 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¥Z;)7^6y` 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/patchouli/hatmode_christmas.png b/src/main/resources/assets/petrock/textures/patchouli/hatmode_christmas.png new file mode 100644 index 0000000000000000000000000000000000000000..b21ad163c96bfc140f3d7db77a6433ea34394520 GIT binary patch literal 26215 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/patchouli/hatmode_halloween.png b/src/main/resources/assets/petrock/textures/patchouli/hatmode_halloween.png new file mode 100644 index 0000000000000000000000000000000000000000..db5618d6c61617fcc6bfe8ec63a79dd2fd9995cc GIT binary patch literal 21815 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 Z8%}X@SB|5-x@8>fr4G_otyi&${6CbF$=?6~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/patchouli/hatmode_slowpoke_birthday.png b/src/main/resources/assets/petrock/textures/patchouli/hatmode_slowpoke_birthday.png new file mode 100644 index 0000000000000000000000000000000000000000..7dcbaff7af9a3b5bf04b5b2a357f1a4ae5c0ef0e GIT binary patch literal 23853 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 F{U2e|-m3rr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/patchouli/health.png b/src/main/resources/assets/petrock/textures/patchouli/health.png index 75850b198152a0d289f8f7b173afe35b18f3ce9d..6dc37f90384252d9b2653cca27b05f598b0ced33 100644 GIT binary patch literal 5433 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 a1`N3mq~+}1J?R3vh{4m<&t;ucLK6UxBB$N} diff --git a/src/main/resources/assets/petrock/textures/patchouli/lone.png b/src/main/resources/assets/petrock/textures/patchouli/lone.png deleted file mode 100644 index 738ae1adcec90805e5186b9310817e46f8534f8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13297 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 s5`l}U(T|eY!=zIV?HUGJzNb`JhdZ~W8;>5cx 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 Date: Thu, 10 Oct 2024 15:57:57 +0100 Subject: [PATCH 05/12] Now the PetRocks with legs have variants uses squidgys textures excpet for missing no --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 21 +++ .../building_blocks/stoneium_block.json | 32 ++++ .../advancement/recipes/food/kibble.json | 32 ++++ .../advancement/recipes/misc/orderform.json | 32 ++++ .../recipes/misc/petrockwithlegsbox.json | 32 ++++ .../advancement/recipes/misc/stone_legs.json | 32 ++++ .../advancement/recipes/misc/stoneium.json | 32 ++++ ..._from_blasting_deepslate_stoneium_ore.json | 32 ++++ .../stoneium_from_blasting_stoneium_ore.json | 32 ++++ ..._from_smelting_deepslate_stoneium_ore.json | 32 ++++ .../stoneium_from_smelting_stoneium_ore.json | 32 ++++ .../resources/data/petrock/recipe/kibble.json | 24 +++ .../data/petrock/recipe/orderform.json | 21 +++ .../petrock/recipe}/petrockwithlegsbox.json | 6 +- .../data/petrock/recipe/stone_legs.json | 17 ++ .../data/petrock/recipe/stoneium.json | 13 ++ .../data/petrock/recipe}/stoneium_block.json | 12 +- ..._from_blasting_deepslate_stoneium_ore.json | 13 +- .../stoneium_from_blasting_stoneium_ore.json | 13 +- ..._from_smelting_deepslate_stoneium_ore.json | 13 +- .../stoneium_from_smelting_stoneium_ore.json | 13 +- .../render/entity/RenderPetRockWithLegs.java | 20 +-- .../petrock/datagen/PRDataGeneration.java | 4 + .../petrock/datagen/PRRecipeProvider.java | 92 ++++++++++ .../petrock/entity/EntityPetRockWithLegs.java | 161 ++++++++++++++++++ .../en_us/entries/order/spawn.json | 9 + .../en_us/entries/variant/variant.json | 65 +++++++ .../entity/petrock/with_legs/andesite/sit.png | Bin 0 -> 2601 bytes .../petrock/with_legs/andesite/tame.png | Bin 0 -> 2581 bytes .../petrock/with_legs/andesite/untame.png | Bin 0 -> 2604 bytes .../entity/petrock/with_legs/bedrock/sit.png | Bin 0 -> 2537 bytes .../entity/petrock/with_legs/bedrock/tame.png | Bin 0 -> 2537 bytes .../petrock/with_legs/bedrock/untame.png | Bin 0 -> 2517 bytes .../entity/petrock/with_legs/clay/sit.png | Bin 0 -> 2587 bytes .../entity/petrock/with_legs/clay/tame.png | Bin 0 -> 2572 bytes .../entity/petrock/with_legs/clay/untame.png | Bin 0 -> 2587 bytes .../petrock/with_legs/deepslate/sit.png | Bin 0 -> 2511 bytes .../petrock/with_legs/deepslate/tame.png | Bin 0 -> 2504 bytes .../petrock/with_legs/deepslate/untame.png | Bin 0 -> 2495 bytes .../entity/petrock/with_legs/diorite/sit.png | Bin 0 -> 2671 bytes .../entity/petrock/with_legs/diorite/tame.png | Bin 0 -> 2665 bytes .../petrock/with_legs/diorite/untame.png | Bin 0 -> 2666 bytes .../entity/petrock/with_legs/end/sit.png | Bin 0 -> 2569 bytes .../entity/petrock/with_legs/end/tame.png | Bin 0 -> 2551 bytes .../entity/petrock/with_legs/end/untame.png | Bin 0 -> 2560 bytes .../entity/petrock/with_legs/granite/sit.png | Bin 0 -> 2556 bytes .../entity/petrock/with_legs/granite/tame.png | Bin 0 -> 2537 bytes .../petrock/with_legs/granite/untame.png | Bin 0 -> 2555 bytes .../petrock/with_legs/missingno/sit.png | Bin 0 -> 299 bytes .../petrock/with_legs/missingno/tame.png | Bin 0 -> 292 bytes .../petrock/with_legs/missingno/untame.png | Bin 0 -> 292 bytes .../entity/petrock/with_legs/nether/sit.png | Bin 0 -> 2546 bytes .../entity/petrock/with_legs/nether/tame.png | Bin 0 -> 2537 bytes .../petrock/with_legs/nether/untame.png | Bin 0 -> 2540 bytes .../entity/petrock/with_legs/stone/sit.png | Bin 0 -> 2309 bytes .../entity/petrock/with_legs/stone/tame.png | Bin 0 -> 2300 bytes .../entity/petrock/with_legs/stone/untame.png | Bin 0 -> 2500 bytes .../textures/entity/petrock_withlegs.png | Bin 975 -> 0 bytes .../textures/entity/petrock_withlegs_tame.png | Bin 975 -> 0 bytes .../entity/petrock_withlegs_tamesit.png | Bin 977 -> 0 bytes .../petrock/recipe/petrock_care_guide.json | 1 + .../data/petrock/recipes/kibble.json | 16 -- .../data/petrock/recipes/orderform.json | 15 -- .../petrock/recipes/petrock_care_guide.json | 30 ---- .../data/petrock/recipes/stone_legs.json | 13 -- .../data/petrock/recipes/stoneium.json | 13 -- 66 files changed, 800 insertions(+), 125 deletions(-) create mode 100644 src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e create mode 100644 src/generated/resources/data/petrock/advancement/recipes/building_blocks/stoneium_block.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/food/kibble.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/orderform.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/petrockwithlegsbox.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stone_legs.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/recipe/kibble.json create mode 100644 src/generated/resources/data/petrock/recipe/orderform.json rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/petrockwithlegsbox.json (69%) create mode 100644 src/generated/resources/data/petrock/recipe/stone_legs.json create mode 100644 src/generated/resources/data/petrock/recipe/stoneium.json rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/stoneium_block.json (50%) rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/stoneium_from_blasting_deepslate_stoneium_ore.json (53%) rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/stoneium_from_blasting_stoneium_ore.json (51%) rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/stoneium_from_smelting_deepslate_stoneium_ore.json (53%) rename src/{main/resources/data/petrock/recipes => generated/resources/data/petrock/recipe}/stoneium_from_smelting_stoneium_ore.json (51%) create mode 100644 src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/andesite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/andesite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/andesite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/deepslate/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/deepslate/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/deepslate/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/diorite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/diorite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/diorite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/nether/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/nether/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/nether/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/untame.png delete mode 100644 src/main/resources/assets/petrock/textures/entity/petrock_withlegs.png delete mode 100644 src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tame.png delete mode 100644 src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tamesit.png create mode 100644 src/main/resources/data/petrock/recipe/petrock_care_guide.json delete mode 100644 src/main/resources/data/petrock/recipes/kibble.json delete mode 100644 src/main/resources/data/petrock/recipes/orderform.json delete mode 100644 src/main/resources/data/petrock/recipes/petrock_care_guide.json delete mode 100644 src/main/resources/data/petrock/recipes/stone_legs.json delete mode 100644 src/main/resources/data/petrock/recipes/stoneium.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e new file mode 100644 index 0000000..4a5df62 --- /dev/null +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -0,0 +1,21 @@ +// 1.21 2024-10-10T14:30:47.5129546 Recipes +daeded4e6f345cea445154262efc4a5521be786a data/petrock/advancement/recipes/building_blocks/stoneium_block.json +4220705455e8113890613d8ff1c2d3e761dddaef data/petrock/advancement/recipes/food/kibble.json +dacb8316598457a4bfa8eb3946f9c233e4338054 data/petrock/advancement/recipes/misc/orderform.json +b6c3e059eeae7df4c8f5d0aa32656555e764bd6b data/petrock/advancement/recipes/misc/petrockwithlegsbox.json +56d93ce5bb0a4f148f61b70be0da7b7925c2618d data/petrock/advancement/recipes/misc/stoneium.json +e39bceb30dc2bf3923ab4a57d113105505ec7c86 data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json +d248c0be779d3848c045466ac8e2971cca3daa13 data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json +d162002958809390062d5428f3666a074c9f5ca9 data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json +ee3f5f2120e112be968e3038fd11b62369de6d35 data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json +fcbde02033683cf034b03993dce5a903bed079f7 data/petrock/advancement/recipes/misc/stone_legs.json +4f0c5c18baeddc15d25b570534865362676a0019 data/petrock/recipe/kibble.json +f1c7cfa16f035cbd63984b249f9f76bc05abc63e data/petrock/recipe/orderform.json +30eb8210f7c12062cdd75ccb31d8e97cdcd46799 data/petrock/recipe/petrockwithlegsbox.json +f08412e8aa01050a02ee166be85121774234942d data/petrock/recipe/stoneium.json +2a7cda24738954a5e20a768f7279ef38d3ff851b data/petrock/recipe/stoneium_block.json +4b599e1fab599649eaf0dcf44c8f0f992ae6c2cd data/petrock/recipe/stoneium_from_blasting_deepslate_stoneium_ore.json +1c165e19a82324517584d4150b90a5bc0da2a3e7 data/petrock/recipe/stoneium_from_blasting_stoneium_ore.json +61e213364139a509f4ede73cf3ced9cf02f2aaa0 data/petrock/recipe/stoneium_from_smelting_deepslate_stoneium_ore.json +e57bf3c37c1a12843114e2e49e695184ee3b86a3 data/petrock/recipe/stoneium_from_smelting_stoneium_ore.json +b21169132ddb0b9541d7d0419e3998466fbfad99 data/petrock/recipe/stone_legs.json diff --git a/src/generated/resources/data/petrock/advancement/recipes/building_blocks/stoneium_block.json b/src/generated/resources/data/petrock/advancement/recipes/building_blocks/stoneium_block.json new file mode 100644 index 0000000..6501438 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/building_blocks/stoneium_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stoneium_ingot": { + "conditions": { + "items": [ + { + "items": "petrock:stoneium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stoneium_ingot" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/food/kibble.json b/src/generated/resources/data/petrock/advancement/recipes/food/kibble.json new file mode 100644 index 0000000..6dd8839 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/food/kibble.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cookie": { + "conditions": { + "items": [ + { + "items": "minecraft:cookie" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:kibble" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cookie" + ] + ], + "rewards": { + "recipes": [ + "petrock:kibble" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/orderform.json b/src/generated/resources/data/petrock/advancement/recipes/misc/orderform.json new file mode 100644 index 0000000..e928f17 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/orderform.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ink": { + "conditions": { + "items": [ + { + "items": "minecraft:ink_sac" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:orderform" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ink" + ] + ], + "rewards": { + "recipes": [ + "petrock:orderform" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/petrockwithlegsbox.json b/src/generated/resources/data/petrock/advancement/recipes/misc/petrockwithlegsbox.json new file mode 100644 index 0000000..11dee40 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/petrockwithlegsbox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_legs": { + "conditions": { + "items": [ + { + "items": "petrock:stone_legs" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:petrockwithlegsbox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_legs" + ] + ], + "rewards": { + "recipes": [ + "petrock:petrockwithlegsbox" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stone_legs.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stone_legs.json new file mode 100644 index 0000000..7c2d43f --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stone_legs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone": { + "conditions": { + "items": [ + { + "items": "minecraft:stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stone_legs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone" + ] + ], + "rewards": { + "recipes": [ + "petrock:stone_legs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium.json new file mode 100644 index 0000000..7dbc03a --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stoneium_ingot": { + "conditions": { + "items": [ + { + "items": "petrock:stoneium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stoneium_ingot" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json new file mode 100644 index 0000000..b7f8b1e --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_stoneium_ore": { + "conditions": { + "items": [ + { + "items": "petrock:deepslate_stoneium_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_blasting_deepslate_stoneium_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_stoneium_ore" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_blasting_deepslate_stoneium_ore" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json new file mode 100644 index 0000000..35569bd --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stoneium_ore": { + "conditions": { + "items": [ + { + "items": "petrock:stoneium_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_blasting_stoneium_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stoneium_ore" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_blasting_stoneium_ore" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json new file mode 100644 index 0000000..cac86e0 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_stoneium_ore": { + "conditions": { + "items": [ + { + "items": "petrock:deepslate_stoneium_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_smelting_deepslate_stoneium_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_stoneium_ore" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_smelting_deepslate_stoneium_ore" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json new file mode 100644 index 0000000..984a5ad --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stoneium_ore": { + "conditions": { + "items": [ + { + "items": "petrock:stoneium_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_smelting_stoneium_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stoneium_ore" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_smelting_stoneium_ore" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/kibble.json b/src/generated/resources/data/petrock/recipe/kibble.json new file mode 100644 index 0000000..a7a3b50 --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/kibble.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "c": { + "item": "minecraft:cookie" + }, + "m": { + "item": "minecraft:stone" + }, + "s": { + "item": "petrock:stoneium" + } + }, + "pattern": [ + "msm", + "scs", + "msm" + ], + "result": { + "count": 1, + "id": "petrock:kibble" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/orderform.json b/src/generated/resources/data/petrock/recipe/orderform.json new file mode 100644 index 0000000..61a99bf --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/orderform.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "i": { + "item": "minecraft:ink_sac" + }, + "p": { + "item": "minecraft:paper" + } + }, + "pattern": [ + "ppp", + "pip", + "ppp" + ], + "result": { + "count": 1, + "id": "petrock:orderform" + } +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/petrockwithlegsbox.json b/src/generated/resources/data/petrock/recipe/petrockwithlegsbox.json similarity index 69% rename from src/main/resources/data/petrock/recipes/petrockwithlegsbox.json rename to src/generated/resources/data/petrock/recipe/petrockwithlegsbox.json index 3bd5186..12792ce 100644 --- a/src/main/resources/data/petrock/recipes/petrockwithlegsbox.json +++ b/src/generated/resources/data/petrock/recipe/petrockwithlegsbox.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "petrock:petrockbox" @@ -9,6 +10,7 @@ } ], "result": { - "item": "petrock:petrockwithlegsbox" + "count": 1, + "id": "petrock:petrockwithlegsbox" } -} +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/stone_legs.json b/src/generated/resources/data/petrock/recipe/stone_legs.json new file mode 100644 index 0000000..f7d1d6e --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/stone_legs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "s": { + "item": "minecraft:stone" + } + }, + "pattern": [ + "s s", + "s s" + ], + "result": { + "count": 1, + "id": "petrock:stone_legs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/stoneium.json b/src/generated/resources/data/petrock/recipe/stoneium.json new file mode 100644 index 0000000..675cd32 --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/stoneium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "petrock:stoneium_block" + } + ], + "result": { + "count": 9, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium_block.json b/src/generated/resources/data/petrock/recipe/stoneium_block.json similarity index 50% rename from src/main/resources/data/petrock/recipes/stoneium_block.json rename to src/generated/resources/data/petrock/recipe/stoneium_block.json index 8a5db85..a82b54b 100644 --- a/src/main/resources/data/petrock/recipes/stoneium_block.json +++ b/src/generated/resources/data/petrock/recipe/stoneium_block.json @@ -1,14 +1,18 @@ { "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "s": { + "item": "petrock:stoneium" + } + }, "pattern": [ "sss", "sss", "sss" ], - "key": { - "s": { "item": "petrock:stoneium" } - }, "result": { - "item": "petrock:stoneium_block" + "count": 1, + "id": "petrock:stoneium_block" } } \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium_from_blasting_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_deepslate_stoneium_ore.json similarity index 53% rename from src/main/resources/data/petrock/recipes/stoneium_from_blasting_deepslate_stoneium_ore.json rename to src/generated/resources/data/petrock/recipe/stoneium_from_blasting_deepslate_stoneium_ore.json index 16e69ea..f9c41aa 100644 --- a/src/main/resources/data/petrock/recipes/stoneium_from_blasting_deepslate_stoneium_ore.json +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_deepslate_stoneium_ore.json @@ -1,10 +1,13 @@ { "type": "minecraft:blasting", - "group": "stoneium_ingot", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, "ingredient": { "item": "petrock:deepslate_stoneium_ore" }, - "result": "petrock:stoneium", - "experience": 0.7, - "cookingtime": 100 -} + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium_from_blasting_stoneium_ore.json b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_stoneium_ore.json similarity index 51% rename from src/main/resources/data/petrock/recipes/stoneium_from_blasting_stoneium_ore.json rename to src/generated/resources/data/petrock/recipe/stoneium_from_blasting_stoneium_ore.json index 8758043..45233a1 100644 --- a/src/main/resources/data/petrock/recipes/stoneium_from_blasting_stoneium_ore.json +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_stoneium_ore.json @@ -1,10 +1,13 @@ { "type": "minecraft:blasting", - "group": "stoneium_ingot", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, "ingredient": { "item": "petrock:stoneium_ore" }, - "result": "petrock:stoneium", - "experience": 0.7, - "cookingtime": 100 -} + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium_from_smelting_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_deepslate_stoneium_ore.json similarity index 53% rename from src/main/resources/data/petrock/recipes/stoneium_from_smelting_deepslate_stoneium_ore.json rename to src/generated/resources/data/petrock/recipe/stoneium_from_smelting_deepslate_stoneium_ore.json index cf1c0f3..d56fa02 100644 --- a/src/main/resources/data/petrock/recipes/stoneium_from_smelting_deepslate_stoneium_ore.json +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_deepslate_stoneium_ore.json @@ -1,10 +1,13 @@ { "type": "minecraft:smelting", - "group": "stoneium_ingot", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, "ingredient": { "item": "petrock:deepslate_stoneium_ore" }, - "result": "petrock:stoneium", - "experience": 0.7, - "cookingtime": 200 -} + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium_from_smelting_stoneium_ore.json b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_stoneium_ore.json similarity index 51% rename from src/main/resources/data/petrock/recipes/stoneium_from_smelting_stoneium_ore.json rename to src/generated/resources/data/petrock/recipe/stoneium_from_smelting_stoneium_ore.json index 14f3106..2b88acc 100644 --- a/src/main/resources/data/petrock/recipes/stoneium_from_smelting_stoneium_ore.json +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_stoneium_ore.json @@ -1,10 +1,13 @@ { "type": "minecraft:smelting", - "group": "stoneium_ingot", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, "ingredient": { "item": "petrock:stoneium_ore" }, - "result": "petrock:stoneium", - "experience": 0.7, - "cookingtime": 200 -} + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRockWithLegs.java b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRockWithLegs.java index 8d2e755..b9f320e 100644 --- a/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRockWithLegs.java +++ b/src/main/java/net/manmaed/petrock/client/render/entity/RenderPetRockWithLegs.java @@ -17,10 +17,6 @@ */ public class RenderPetRockWithLegs extends MobRenderer { - private static final ResourceLocation UNTAME = RLHelper.location("textures/entity/petrock_withlegs.png"); - private static final ResourceLocation TAMED = RLHelper.location("textures/entity/petrock_withlegs_tame.png"); - private static final ResourceLocation SITTING = RLHelper.location("textures/entity/petrock_withlegs_tamesit.png"); - public RenderPetRockWithLegs(EntityRendererProvider.Context context) { super(context, new ModelPetRockWithLegs(context.bakeLayer(PRModels.PETROCKWITHLEGS)), 0.25F); this.addLayer(new MiniSlowpokeLayer(this, context.getModelSet())); @@ -41,13 +37,13 @@ public void render(EntityPetRockWithLegs entity, float f1, float f2, PoseStack p @Override public ResourceLocation getTextureLocation(EntityPetRockWithLegs petRock) { if (petRock.isTame()) { - if (petRock.isInSittingPose()) { - return SITTING; - } else { - return TAMED; - } - } else { - return UNTAME; - } + if (petRock.isInSittingPose()) { + return RLHelper.location("textures/entity/petrock/with_legs/" + petRock.getVariantName() + "/sit.png"); + } else { + return RLHelper.location("textures/entity/petrock/with_legs/" + petRock.getVariantName() + "/tame.png"); + } + } else { + return RLHelper.location("textures/entity/petrock/with_legs/" + petRock.getVariantName() + "/untame.png"); + } } } diff --git a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java index 8700413..dd03cb9 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java @@ -21,5 +21,9 @@ public static void gatherData(GatherDataEvent event) { ExistingFileHelper fileHelper = event.getExistingFileHelper(); CompletableFuture lookupProvider = event.getLookupProvider(); + generator.addProvider(true, new PRRecipeProvider(packOutput, lookupProvider)); + + + } } diff --git a/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java new file mode 100644 index 0000000..9bc89b9 --- /dev/null +++ b/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java @@ -0,0 +1,92 @@ +package net.manmaed.petrock.datagen; + +import net.manmaed.petrock.block.PRBlocks; +import net.manmaed.petrock.item.PRItems; +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.*; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; + +import java.util.concurrent.CompletableFuture; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class PRRecipeProvider extends RecipeProvider { + private static RecipeCategory misc = RecipeCategory.MISC; + private static RecipeCategory block = RecipeCategory.BUILDING_BLOCKS; + private static RecipeCategory food = RecipeCategory.FOOD; + + public PRRecipeProvider(PackOutput packOutput, CompletableFuture completableFuture) { + super(packOutput, completableFuture); + } + + public static ResourceLocation getSave(String string) { + return RLHelper.location(string); + } + + @Override + protected void buildRecipes(RecipeOutput recipeOutput) { + + ShapedRecipeBuilder.shaped(food, PRItems.KIBBLE.get()) + .define('m', Ingredient.of(Blocks.STONE.asItem())) + .define('s', Ingredient.of(PRItems.STONEIUM.get())) + .define('c', Ingredient.of(Items.COOKIE)) + .pattern("msm") + .pattern("scs") + .pattern("msm").unlockedBy("has_cookie", has(Items.COOKIE)).save(recipeOutput); + + ShapedRecipeBuilder.shaped(misc, PRItems.ORDER_FORM.get()) + .define('p', Ingredient.of(Items.PAPER)) + .define('i', Ingredient.of(Items.INK_SAC)) + .pattern("ppp") + .pattern("pip") + .pattern("ppp").unlockedBy("has_ink", has(Items.INK_SAC)).save(recipeOutput); + + ShapedRecipeBuilder.shaped(misc, PRItems.STONE_LEGS.get()) + .define('s', Ingredient.of(Blocks.STONE.asItem())) + .pattern("s s") + .pattern("s s").unlockedBy("has_stone", has(Blocks.STONE.asItem())).save(recipeOutput); + + ShapelessRecipeBuilder.shapeless(misc, PRItems.PETROCKWITHLEGSBOX.get()) + .requires(PRItems.PETROCKBOX.get()) + .requires(PRItems.STONE_LEGS).unlockedBy("has_stone_legs", has(PRItems.STONE_LEGS.get())).save(recipeOutput); + + ShapelessRecipeBuilder.shapeless(misc, PRItems.STONEIUM.get(), 9) + .requires(PRBlocks.STONEIUM_BLOCK.get()).unlockedBy("has_stoneium_ingot", has(PRItems.STONEIUM.get())).save(recipeOutput); + + ShapedRecipeBuilder.shaped(block, PRBlocks.STONEIUM_BLOCK.get()) + .define('s', Ingredient.of(PRItems.STONEIUM.get())) + .pattern("sss") + .pattern("sss") + .pattern("sss").unlockedBy("has_stoneium_ingot", has(PRItems.STONEIUM.get())).save(recipeOutput); + + + oreToIngot(PRBlocks.STONEIUM_ORE.get(), PRItems.STONEIUM.get(), recipeOutput); + oreToIngot(PRBlocks.DEEPSLATE_STONEIUM_ORE.get(), PRItems.STONEIUM.get(), recipeOutput); + + } + + private static void oreToIngot(Block ore, Item ingot, RecipeOutput recipeOutput) { + SimpleCookingRecipeBuilder.blasting(Ingredient.of(ore), misc, ingot, 0.7F, 100).unlockedBy(getHasName(ore), has(ore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_blasting_" + retunName(ore.asItem()))); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(ore), misc, ingot, 0.7F, 200).unlockedBy(getHasName(ore), has(ore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_smelting_" + retunName(ore.asItem()))); + } + + private static String retunName(Item item) { + String item_with_idet = item.toString(); + String regex = "(?<=:)[^:]+"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(item_with_idet); + // Extract the part after the colon + String name = ""; //Should always be replaced + if (matcher.find()) { + name = matcher.group(); + } + return name; + } +} diff --git a/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java b/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java index 94f5fda..ee8ff59 100644 --- a/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java +++ b/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java @@ -2,6 +2,10 @@ import net.manmaed.petrock.item.PRItems; import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; @@ -23,15 +27,20 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import javax.annotation.Nullable; import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Created by manmaed on 14/06/2022. */ public class EntityPetRockWithLegs extends TamableAnimal { + + private static final EntityDataAccessor VARIANT_ID = SynchedEntityData.defineId(EntityPetRockWithLegs.class, EntityDataSerializers.INT); protected EntityPetRockWithLegs(EntityType type, Level worldIn) { super(type, worldIn); this.setTame(false, false); @@ -51,6 +60,27 @@ protected void registerGoals() { this.targetSelector.addGoal(3, (new HurtByTargetGoal(this)).setAlertOthers()); } + @Override + protected void defineSynchedData(SynchedEntityData.Builder synceddata) { + super.defineSynchedData(synceddata); + //synceddata.define(VARIANT_ID, random.nextInt(6)); //Randomly set the rocks variant + synceddata.define(VARIANT_ID, 0); + } + + @Override + public void addAdditionalSaveData(CompoundTag compoundTag) { + super.addAdditionalSaveData(compoundTag); + compoundTag.putInt("rock_variant", this.getVariant()); + } + + @Override + public void readAdditionalSaveData(CompoundTag compoundTag) { + super.readAdditionalSaveData(compoundTag); + if (compoundTag.contains("rock_variant")) { + this.setVariant(compoundTag.getInt("rock_variant")); + } + } + public static AttributeSupplier.Builder createAttributes() { return Mob.createMobAttributes() .add(Attributes.MAX_HEALTH, 2.0D) @@ -94,6 +124,28 @@ public void setTame(boolean tame1, boolean tame2) { } } + public boolean isRockVariantChangeItem(Item item) { + Item[] changeItems = { + //Add Items Here For allowed Variant Change + //will also need a texture and added to rightClickSetRockVariant & getVariantName + Blocks.STONE.asItem(), + Blocks.NETHERRACK.asItem(), + Blocks.END_STONE.asItem(), + Blocks.DEEPSLATE.asItem(), + Blocks.DIORITE.asItem(), + Blocks.GRANITE.asItem(), + Blocks.ANDESITE.asItem(), + Blocks.CLAY.asItem(), + Blocks.BEDROCK.asItem() + }; + for (Item itemloop: changeItems) { + if (item == itemloop) { + return true; + } + } + return false; + } + @Override public boolean isFood(ItemStack itemStack) { return itemStack == PRItems.STONEIUM.get().getDefaultInstance(); @@ -115,6 +167,10 @@ public InteractionResult mobInteract(Player player, InteractionHand hand) { this.heal(3.0F); return InteractionResult.SUCCESS; } + if (isRockVariantChangeItem(item)) { + rightClickSetRockVariant(itemStack, player); + return InteractionResult.SUCCESS; + } if (!(item instanceof DyeItem)) { InteractionResult interactionresult = super.mobInteract(player, hand); if ((!interactionresult.consumesAction() || this.isBaby()) && this.isOwnedBy(player)) { @@ -160,4 +216,109 @@ public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableM } return petRock; } + + public void setVariant(Integer variant) { + this.entityData.set(VARIANT_ID, variant); + } + + public Integer getVariant() { + return this.entityData.get(VARIANT_ID); + } + + public String getVariantName(){ + int type = this.getVariant(); + String name; + switch (type) { + case -1: + name = "missingno"; + break; + case 1: + name = "nether"; + break; + case 2: + name = "end"; + break; + case 3: + name = "deepslate"; + break; + case 4: + name = "diorite"; + break; + case 5: + name = "granite"; + break; + case 6: + name = "andesite"; + break; + case 7: + name = "clay"; + break; + case 8: + name = "bedrock"; + break; + default: + name = "stone"; + break; + } + return name; + } + + private void rightClickSetRockVariant(ItemStack itemStack, Player player) { + Item item = itemStack.getItem(); + String itemName = item.toString(); + // Use regex to extract the part after the colon + String regex = "(?<=:)[^:]+"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(itemName); + // Extract the part after the colon + String extractedName = "missingno"; //Should allways be replaced + if (matcher.find()) { + extractedName = matcher.group(); + } + if (!player.getAbilities().instabuild) { + itemStack.shrink(1); + } + //System.out.println("Item We got " + extractedName); + switch (extractedName) { + case "stone": + setVariant(0); + break; + case "netherrack": + setVariant(1); + break; + case "end_stone": + setVariant(2); + break; + case "deepslate": + setVariant(3); + break; + case "diorite": + setVariant(4); + break; + case "granite": + setVariant(5); + break; + case "andesite": + setVariant(6); + break; + case "clay": + setVariant(7); + break; + case "bedrock": + setVariant(8); + break; + case "missingno": + setVariant(-1); + break; + } + } + + @Override + public void tick() { + super.tick(); + //System.out.println(getVariant()); + if (getVariant() == null) { + setVariant(0); + } + } } diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json index 9f40ba5..a23a4ec 100644 --- a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/order/spawn.json @@ -11,6 +11,15 @@ { "type": "entity", "entity": "petrock:petrock" + }, + { + "type": "crafting", + "recipe": "petrock:petrockwithlegsbox", + "text": "You can also add legs to the PetRock while its still in the box" + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs" } ] } \ No newline at end of file diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json index edd1a9a..4071de7 100644 --- a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json @@ -67,6 +67,71 @@ "entity": "petrock:petrock{rock_variant:-1}", "text": "This is the missingno variant (impossable without cheats)" + }, + { + "type": "text", + "title": "PetRock with legs Variants", + "text": "This will show you all the PetRock with legs variants you can have. $(br) To get the new variants just right click a tamed PetRock with the block type you would like from the list here." + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:0}", + "text": "This is the Stone Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:1}", + "text": "This is the Netherrack Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:2}", + "text": "This is the End Stone Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:3}", + "text": "This is the Deepslate Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:4}", + "text": "This is the Diorite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:5}", + "text": "This is the Granite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:6}", + "text": "This is the Andesite Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:7}", + "text": "This is the Clay Variant" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:8}", + "text": "This is the Bedrock Variant (creative only)" + + }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:-1}", + "text": "This is the missingno variant (impossable without cheats)" + } ] } \ No newline at end of file diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/andesite/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/andesite/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..a7107741b7eee308d6b225bea751d0eae53d88f6 GIT binary patch literal 2601 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d76c9e517b62f48d88a2b0dbfa47016a0bf088 GIT binary patch literal 2537 zcmb_e3se+U7#6lp*9Wf&xJ+Ox!J!Dj9g_=Dzv+gdir-xR@)1EUsckX=u_kaK6 z-a9J_rcaBD85sjXP+V?~#Rl$~;DV!c;D19?Z5_BpdvoqoA!zuBz!e6qeNFn2}QFbsp?Bu0`bK%i=sN8>6{kD4~bU=dYbk-VBDd*A>gXO}B9 zGXkUz#NhUZXg%s+o?m(%1eByH9JL!c5yg!r+{7464w|Ee z>@6~15h(4Dy#VZKhk+9a2aoawJOd>K%7HR8??8$G7cJK z|MJ=mI7?7N{dYy$2g&&|&f^rpc8MWZ9?gI2#mhzWm(}z?MuP=*$$=)r{@Q=RcYoMX zK`Db%V4DsMLk9$S2put^2P8@X2gtYetvwJlY*?;ka$(t${&ffDkC>6P{3(B`tM?F9 za^8RBy7gJh>aSVXWjpa!)6=bwuHN}Ja{Y|ruZ+*sSBC9Lj+b(ej*EZsPtJz`A?~f2#H0pJ28P?+#zH zcI}M|PjA1re~#YS^BWQU#@WRBJ^QMlkD|0`ug=jo-@LM-CuK=b)df@dLl+~rl+6Bs z>fhg2+VbVw{&)M1Z9Y7U$;(6@X*j8!-@kmzy4iEF)p_5a{aJ}1A73@Tp?6K+hSbN# zyga6F`mFr3g8`sdb zW7qla>yIuv(?J9nvlhiL$C59;*lukpQe(4f>uw}&z4hw>rUY-+(&9Tmi_D2!H!|hR z{^MhYZ%gv~{jc41_qeMT>gXkXw)0o<#|kpTeYW)1N2Mq=Wl`N!*v_!n*w}d8g>&S- z(UG?1<`cUP67xolek5n?dlgMzcXW0}SU)|~i~RCjLEGU@lR0~Ia`T7t-#@ASe8i)o zi5m{P$neg+d)r&vI4KsXn>Q`5wB@>8tu=FEyUj^^?2g#9)#TKAg1qx{!N(AME+N_(Kaa9#SACMrDe OF_xP>-O`#hZ|U!6*@>+H literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9507e6cb53b9e46b928a256f7046cda9ab6d69 GIT binary patch literal 2537 zcmb_e4Nw$i7(Na{z|7x_tZZFNsodM$yXEe7;UwiWFb@z>PepY9?r!1kcHP~BJDUs~ zG$_aLCsLr&Ld`!KvQ$I@b#kP_Km0A7XeJ|v6sd_U%leL=n|`z!r<>W^Z@+!M_kEw| zeZTkH(u}lc2E~ku(P%V-Qd6v%;QlnYpr}aj|JLhEi@_~gN|~!@Gy{hRuP{wTRjfu6 zxl+iot9ILTiWNONniCmb=l4hett0#V*NXNe)h$2qpR{V8FwxH01ZVy$a>Gz&&;;Fb+aK{b1lu<{VU}b!wk8 z@MM8qswz<^T2N4+D=_Fp*@@yLNurn@)$0*}K$L)2rTvIk8QX8c$}6laNU9)up`b;Y z5q+u!2BG$H@JJ!EUZqbbpcv|>B^1|TK~6nDjt$`?pX}~&&ao)(<~_VuRR9(bVI`NS zii%6TgXz%gKRE!}+H4^ow~fW)3As?zDfxg#pCGqID_H@FM>Bav^vNtgB_D)2HpoVz zl4YJ&MLA0p-Tj%$=nomv$LnxC6gNlka$BMjv<&a3pY@DjKWM$ zVK{|hy-=IT368+up#+8Fl!5pY6ci0dtMtEuIhJyWvWEtY1rP1yQOWCsp^%PLvgj6N z;21<_=!wE+qf)(!N_$y8)oOtOX`LW&lo7`Qw>wPnQL-w`liW z+X?QtU`FEbgfy`P!Vm@?XE`Hb zG8+52-!66oM&a@O^>iS{Zq9Z**zIiyVd@ zoO(K{H2L7Iul7NPu!w|;Ckz`qbC(>e>`rKZuCY6H`MNb}AGd!$tckE`y1ToNI(AoO zS8mv_Y37yJZaP@;_|8c0j0T zAJ?{Xd`YzA3)^4w?9IaQ^>epnRkh1?)5oXR+7DDbPVottXVR>~&M0KmMp~aE@$kA1Gmwq^NW)>CDlG?iLW5bVj zeXLwqxNhjXW7@YLJXIHM9xTtEJzH~vXz9w@G0WL9DC(Y}<;7cs8ffdhUGV1WjJT?Z zhl+=+oA&q|XoS^1tl!3!=(ty>)r@g2ri+T~pLR{qO}Nep&GEt2RYRq4^4*0EKVKen zEy>?Ds(4w{v#XPes!pFCv3)!BV(pKYmSqf~Q>Uk=Kc^*g0=nlTE|#_V%KedM>xvHB(GhE!9+`Eyx{m(s1-=BA} z#OfkO-5b_yJ=96nZ%H9WJ>HsI`$7FDyQKBI#4px=+c9?ZD>HYTNwG~YYvz8b*_{{D zu;YxMom$)fe1M?20dZ`L<09+HT!2U(K&EIoH2e)+X6nWsB^6YV2^ZE9#vy>IZ~z)rz^HkTU~owJagJtXhsJK4L= zJ*XXhtfjW0!FIK+a5Qwb^>Djm?a1rjRLD(9>C4764!l19H?*l!`^(vM6fP=>TEIpG PKgLq0q*-ewFIx6H_DY$C literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/bedrock/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..6a251d21617d9bebda7b0e451cfe8a3e4301428c GIT binary patch literal 2517 zcmb_e3se+U7~VxC(AHyiN<^h`QIu+S9{XYk7R6oV;Vu%cN+!tc%q%;yyED!VuuEiU zSYn!JzIgOnOGA<@v{X1oQWj-qc}&en?btypMNOsbVRskUqovvLwCBvuojc$E|KIoj z|GjrAvocc^1EUAZWHLp1nmHTXCxQ!#2nYZE7Zy~2TO^%SdmNdc3lT;xiL3XBq^%#|1&F?88mNqJ9X|1T0H!)5& ztyEy9muA|i(n88WD<>pFNnQdta5EAKdEG9LNO+CPpkD%v1Jj5S3PPkpqcSBB5X!M; zK_*UMAcG2nDHO#ay+K9lNS)fCdlFsVNlA&SM6Ke40t7P{34iOFY@Y`+BT@p(ODyMs0v<^_ zS0ovgfNGBhHy?8A5qt9lGKP3b9>G*-KvNJ%Qz0B*B)EdXX$oOnjGOUDBEVuHEbrtb zPIPj&a2`YM&xM;XGkDh!9l&tg3^S0ct=XTg|Bi7_ezWrHykMs+q!P2ebj>K{Te z0!4eER*q&JzJEeB1cni6?F~@SG&CuZw*}J_;ot-}2^6z#vVcK&Pk|B&<&iLPE=~Y} z0Xub&h1E)=dqj!!P)xens05-_EK3u#R-?D;@dOyd>{?i-*Vth@N~&SKL$B7`X*HO3 z^x2y^swhy}K6@J2Yt#%)YG@30Fm@77&}k@`MAZhEWJpGBr!@wQru*!t2`pG!r0b6T z1Xf(2Cx|pw1l98OE{W;P{N9m^g@SEBkW`?(jY=v|R|YWXnPzX2f&ZqU$G*hL0H^;_ z?jD%PIiwO&U{VS|wr<}~$gS9mWbwaq*OM59C+KuAZlLrqY0zk3lEU<`7Q+*0%mKC+ zEz_s{X57^%f$94C?~b_lCYExNo&pAJmx%Jt)%>?!yj3OswwnG&HArBW>}fLO@BJ5i zcioN(N*SC2+jL+UIv~J9=!juFAW;H1KqkctpU7lkUFqf&n{(mW^`B*ocqHoSm!5xM z^O+pQeb==4{Y}G$u5W+)#Kz`D#cSTk820F?DW!_}EAz@Pg=f@{=@>WU^&|J}^}n2Q z%)f}*_UlP$^u7K=j@fb5m1mo4>U`~Gon>9?d`qgbzf7;UWrRgNEpKgakE}E=y0U%o z;sJzj>4*N)zif?pDF35vEiHGK`^T@}Sm__{todqoQ{&mvmN6IJjf{Avt#wAHqHTv( zt~cgc%D418ps~&#;p%d{mE+3o6byt9ueLlHGx5PSt7fiKv_UZ|s2WGZG2R$i;=8Jo z7Zw%{ZQSLWocKcKyXTHu_T;`eM|Jq6yYiP$e0_=IZRr|%?HTlQAgj9Rm$zj?zW)oEiI-5)RAdFXOk^0aX)#-&2l79z}$=_~!i zG@OqXt}51gtgY^$)~=N*W%$M`M-6$ouu{*I&;4S^fR8vI}ovQf}u+bpQS( zQ#PF5wcnI42&$T@lb=T=OA^DwKc{oSeY4vENWI21KtV_e)fjZK9E zD<+M$FAqPKnwoUwx1-6)4i8_&CsW;0*pPTW+Wnx!jb8f-mQ;A_S9S*0iwx#3i?*>5?CpzAjSJua0YBOEw?(P6FE*hUT zzdp0!r|LLU>(4t4DwWFn+Gf{`2S135JF?@WH=u#9RPCG9uq+H&yY|S@qpt`HGKWMB z4*zxbn+Iii-%cO=OK19l&SJUe$7}K(x#h>MMqd25B7W$B1B$?hSNh~kbK|7^MSlT8 Ck%u+_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..953af686b398a9236d22d9c7266487535b18627e GIT binary patch literal 2587 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/clay/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6dc1a9779bfd58b8c172d1916d39bc286b7684 GIT binary patch literal 2587 zcmb_e3sBT%9uIQLOG<04gPxXLc(fL>N%ox_i^8syt*-JC1nf<-Np?4~yIHbfSsrEd z?1^}_K1!`@t(EG{RnQLBLVI;AUbQXAaClJfs-R$foTqS|UVGxA)=L)HX?xmsoZFdf zzI^%p|G(e=@qJ(FvzI>|9XT%&0Dx#?mLXTXFBUH_e1`b{=IgaDh_?t=R*@S3q8^p5 z5Wu%9764|v$mXvSR+*L&6z7nUG-qaHUWZFW13>B`uZyHg838miR@SM5zC6+afh?_q z3RNc5iVB8eX zx&)SUf|5tl%#{l|NR&DegTobc>vT`%Nz54HC0z(6L#3DkK$;5TT;;qyKu%K#V`m(U zQ*et|EQod4IDvE9xcj&czWyG8m|K%6$Z=0C4o8r}EiCbfVN53Eo@jS|rHesw88=tX zQ_K>NC^KG)#zp9Ph7>qHpX2OPmCBxy49Zn9Ob$L-$U14R!oBc27L0)u7#$>)4aQIy zRp(<0LXHxsCK<&D6rF&YIGVLo{x4KXU>KoLeGe)&4NVH!1oo<12QjF1{gT$a^EK3tgidL)43N5TLQ#eeMN+nEU z3JfOAN(RL-i^igzh(feCa8$We+9`WlvR5#o5skqX#!SLmwUUBKRDr`JLoy08t;8{! zp5kA@v*Ow!?GNlnT5(cO5Lv8StXAdZlE`DqCP#J_47343Qc`>CAWEt$BPy7fX781O zpB2G`eT9t?o&HFHioF zBJGkBO@{oi{{rv6v!jZo3`~jJv@{GJ5aL7dh+&*!qImHDSvR}$C;)`2jE3}l+q%)l z974ttN8PbOuMGGzNe|IU2gjJSC>C-(7l%xhYtm2;CX{k36h)kPH$PrdQQjCZn=HiwS_rieq&w&=p6 z098w$xBuAKQ=Owj#zrNi3~_mP$AmR`3KXw)H(6Fjo<-YB6D@rkPknTA_lg`1ksOH@ zbndmpgw2adTljM33!cR}8o(9WXs?~!>yIjl7-$(E8-7{N8f??nw1*z+`U)?;5oJ$2 zF;;W!d}&6JzPmXiK*L|n{Ve+YXSHEx@1$+K_5A1fEs6f%(3z{7E(yu~Tv6@^iFjOd zO4pm)zdola^jD3x#5cBecOQ86H*@ARDNk;{y`rnWWaZ$=ZwFhzI;ZtWW{!~X=%S}j z%-wc9ff?WYZml(bQ!hDq_+t9eWc*I&fz_!4f3IFU2zU9j8DnK!*O}Y?8yzxN?PXtU z_#bk1G>mPVzjkTihoc9s-03;;{<@Tu47MThpI63L`0p6pmNLY&Dz@ zUtrx=@^Ex$|Hn|r>FX)6GxGBCQoXl#8iyZion8~SWPkPRr=u^0-!zwPTXd~Ft-n0w zx~ux7Q?)z7{xb8Oj~9@}GoC6R z|EJWeMD>Q-`-(3YcAGsygWq4dVePV{^$Et2%tt=_lJZ^IbA4p)ztdW4#+3&Pejk_o z*zRfD6Uy%T-Dz*^Ix#pvi61AY%5Ti{cb_Sm|LKKBrYZCv7K>J^9UkwS^~#!8`28o2 zQzMamh`;8W&N6Mt>eZ{Bvs&w#9ebzkZ9chl=n0@;%l@#MZ<2QYEk^zP#k&!)Ldg0n Z@EqWLQS6p$CDP}camjMS+ZoUO_P?n3uw4KE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/deepslate/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/deepslate/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..8019db83f3e76c7eb0070b5b0a36db16fdce8d33 GIT binary patch literal 2511 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/diorite/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/diorite/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..e59c6ff604bbb6357e4481ed5f82fac82f6e173a GIT binary patch literal 2671 zcmb_e3slrr8V+ka2T-Yd+;%~6&lnID$xJdYNRA^Q12V!O2XO(d)l41`hM5dWU>LA0 z)CZ-~vRDONacN6+YAr0_qlcp+Sf2&4E?Pu%bwPLgP*9*0T3k27>$F{Md%B%-GP$|= z{_p?($Gta&u`w%Vy3cV30AQv*QWq!QL&Qt!DiQzR*_*pXyt!E;lXw7_KHGV@0Dr0Q z1OQ196Q3v~8lo|RHOp|4HBz!HvsFX`z|!C>D^8dwL29Iu8H*O|J9ZM3GNcwvP#a)_ zHH=DOBC|Pab#_cVk!>PS5)57@U7Cf71ZGOWrCH`Q3y)=K!7*M;96P7wpmYo(n6zN1 z)1frc5GxI1IZBGk5QuBJ8d-Ekz1 z#pxm@oQY3bFhvlom|SkN*#K^ER;l0irD1jkqf zhP6nYjJT1_5VW8ubvy>Mb&A%)Pvl9=m^=%&$`KjtjA;x=5>q&92A4MGoFwE_8fB&| z0xx2bDXcYx6<9uneG2u|>+d-bb89e6`FNrhvw6w|FN9}`VN4|CiD*9FZl&aL6whXG z1Qnhs%JgwYW5vQa3Kv)|o@LV}D-}B_S*lRW5QTJ60%IXr8^8EF7L*PbC@ttL8-&0R ztcgdIm;%P&z$Gw(!SFcLz>*AY|6iyILl8_E^gXE9G$bzIKM5uYjAl7AE=J6l@nlMF zwIqYmsXSs~Y#Pgnjzx9KF%<>_rnm3{ZXqbWP78`b%NT~l5H+GO2C9M}T0_wgu2#X2 z5kZX*sz!s1C_)4&DdVKQjwLdjrJb}VMSBgc#7TrEAVLWTLJCqvL#T$JAvH}JQH>g* zU?n=R33HI+UwN@JvBZGho~v%R$-;jAk~f)mrs z6Eg7gA{eK&rBEX2kCb~H#Uli#$F(Df(MY2~Du`CAG!U#- zQBaVEA|OprAgoavDU{ZT*?+orC5$1e$^QFA+9$|~6x@cxmzp;1U*-^z(j!lW%v~xIhK!^`hM+{{V6UB)K$dW2Y830Tx)aydy zQ}XYZUs}~gd!7r9DUx(XdRM#OR^4fGX<>f5GxNhWdlq#onCo``>wA|tdT*S3E0sO* zZWmK_z(M_ad5&)MJ>B`Dc)#%Z`{~tGifcgdU~lailZweaJX(9L@!XxNj^Yi$f2%AG zaGP&!X={tZD=X@cG&Fa2gE{uiJ8SC70^#k?0)wWGbfWQiP6Br#vDnAnnb*@pxWxMJ zCJ!BK{l};)a40dv;Oi3k`5a5Dqw>bkP02IIL-y@(3t3vD&?ruQ`Y*{!-`3GnzgfIK ztZ<7K$t`kt3=dtH{kGqZw)S`s?@m9mHR%FrC5(0DeOObwBj@EasNjO{l@QTY(bJZeup0~wwkBXrGr_mF43LLJQ2RJ zJAK!#XbCX?8Pk_??+Dj?U%f{UH7{^~N6BBSwO>|At#@Pd zH{`v1yKz=y`?VNfX>|j<${96Wi7y#{O0CRN#34EAJn$EMV~WzZfo{>@WuUg zetv%NjLl!?*VQ5KH-%SjzenFmJ@WCv?bGQM5$|11Rn3{1d$7a4s`S7g55DMflGy-?W5m@_T2J&@FvrL{6#;nLKsCa z%$hYrQsP?}HeV$4+;+JSJ64+a?55nW{9ljQ+}Cfz7DPc>0RfGXg4Jg7m@tp%;KB?7)}b5(0jaf_Bm8X}j9?csA!Gxw-ed z|Nnje|KEF4oR|>n?K#C0008g!IBk;n{-bz<dL}(;_D?#T)GVay!>3Z1SsDX z003i4xa2e;O}CJwd6Sf4cs(o4Gg(A50L-12XQAk9Rsi*ECTCVd_Zm+^Ajhbo)Ce7_ zvuM~XE-v57F3L|xrt`CD6$8zS1n1_Fq5%^tP+*?PXtt4gYG}|dDYjkR2m}s7glshw z<#Gt7=@LN=Z)HK16oY9L#X*HiO35j?OeKFE#8I3;P#J>ZFsdL4C5g+x;R_PoSs4SF zq@6$PO#D(qS%P385yWn{OYJf#Z_Pw7l}d%6ID+G_h=6Slvq0s+X4{Mr3tHAjTRDrs z@n+Cvk<#-yf*KO34rwr1M$MXS!*LQLhU8He1e2mJO@ly&9>rO5tj0m-42`fx*2J0x zn~23mv6d`e;B8s_b4-s8|IC3HTb*vy$1}N@OrtJrLQJkGV>lqsMB9=b78XfjZG4WE zW@BXegLs4#!@-%UoSEV6w%2|#gVj<3tA<=@gE16F z<;j?g#8DDe%tkR1MTej|p5Y9R|Ai7HhLJMm&!A$_FqA<3CYYf~18+4^qGHZOWwMCH zoC$%WaU?aok++JDMRu}57CIdnZ?*}PnP%g)YDg3<@3oKVQ+Bif(EU51ia#7Ord`d^148^5Jz`k17$~cFfD~=5TMhtjYvZ+1 z$yr5roo#P+8UkA9C6tW4@?OXno?S$Dv*ax2TWUV4tC)EM=dL%DZs#t7mRpoWyBj zQ>srm!EaJMRt|I*U)c8ALvG)KQf+iL-BF+3~-Re$V|`;&Ix z^H)@hYj6K)6=E=(<(8nXo^fe=pztH-qE5MAJLHfay_S38DH>JsPY?2-DY%u&EbszS zioZmTcbr9bWISZn1S|{bQcl>nul~=Li7CZN-`=A?dcXIa0S{cZ(C22s__DK;&tGwL z9-H0$P$Ck#xZwkTzrSKL?Xy&03|!pMd!p;}B;S^}mJq}x~Q?BK;=;8A+(raKR7O1=8uJ*qp*c;4)| zD=&%n(X+fX7U3bYS?{E0ND*3$(yM3$+gU+r4xHSHm|CJ+X~Fu^YE-R0H_m6m z#;u{n^z@p`JLz53%}(?0-lG9DWb}lk$kXHQ*f}NYvEuJ-VdXLDi@EA?BXFaW9q_Kv9 zYo&2MLO8>a2FD8`3u|OJLSvX5R%v9El2R%(%4k@Q$q5uwptu~tR3xD$RNeml-8U%*R-SEFqg2ZuB@lz-$8isOEzY1n(GFK3J3V6)%R33}k zta(z{A4f7?um~a`2I>^UDhviP$!d2{R+>%HX{Eqv8OJdsgXO5zEX^PouBH%*A{2<4 zp>PDJSQVwfGz5nE=j#O8=}Ya{dpQBQU#=>u^yb8bDhj9NYNZm9YiJchX$S(L zXk3LX#N}!R&js7dLUzpe`)OBTB(5AQ)rZnP8d%y)S@T%1U82&5_vW|N;)62rv(@x} z^al0qk|RZi{=EK%zx`-O1*se!0^78&=|3Pq$A84IRuCu=93Z9jK^O#$-#VMsKW6c_-1H14i=eL2uM@ ziZ|`->K>3}@7#9y!lTejC(1&;?wvF+$vS@NraG}pvZT{=J~8q7Uq4w=Nw=fX6-l=u z#rBZk_rCvUiEz6oBwzl;VnagN%Uu4P<5g|F?}yELzQtM6FfAip@8a&BYHl81QtLdsJFEQSbIY$gyG@3J`kvEW;n<#o zja6;q;H}yG-8b7N&#MT#zz)6E_x?BJmGbrF#ZMcL8Zw_LT0Jx1Ky;~WzUIrXes^!J zuaf{e>yXXfi;}jsHopCwp<256vDq#Ax|f|Ygdck=DX68nsJ5xyHT_9R!?ucRWCLAY zUG1^o+^lQlo90(_K6UUWeYt!})))G9&$_4TqXL@B-ZjOP9pr}6BI_jQBtNu-ES+Ga z7gbh3pYGj%L)AJ@8%Jv;Q zmXDVWu3=QcM?TJvIdeL@klE^KHXiT#{JX?wRnnRHCqu76PREHJXCYE)CboTQenaR! zJ2&X~z5XZq;^W`zD~N8B?o2sw>z%uG|4t1a>}qtIj#N~!;Smu}NdDZ5RfQEqPPpTl z+e!SeHt*W3#x3Oy>kf5UzB)#IITcQt)w8SZ>?`%VQ)@-H`}zRcRDHQPD&gcauVx&< z0*i^om%Lt0?T43gG9DlNd!%>Asp@(j`DPIc{r(@JsR@bgpZWdPSr%(=>pAPF3JSea4=J#Mc=295BrUlNSN(50)GQuud_K_$W2n19CLM4cWC~hzqP)v=g)d)Z!Qkhq#f{0g|Hs-;^ zO0>xPWM1$p!yYN8;FpaspgN+#Uus)X{3zAE?gX_ra9|QoowOArCZp+2viG+}3b19H9nvmO~C3~5VMQyAk z_(hsEmjas8!fJeEw#ZVlAle1NJyt2}7-gketHRaF8OwPuBLt+!zGuOjD48|F;j$q( zhG057PLOJh#L{PBIEi5+P>aCuT-pCZH6*SDpdUa%(=e1w{VbTFNlp+w6j022s6rO? zc?)4>B#&ga;1)y>7_cLTSy(J&j#rW?FU{tdj4%+b;(3Nt8yG#U(X$BQG*Ae~YSIw{ zg>#5O@8k@GMu*cJGiGlRXn(l0WA+TN*Kq{J;2e$61eT7d84WPi(Hx@X7^gv}#aWCn zjM@KI$CkH5z%_;=h`uToB@5ElBN`IO=jypk_^csZIYIF#u)v$nKM^Z7}K$Vu;8QR$&| z|6Ha1$EwPG{wEGp6eJIA2)^{ZqT{_vf6b|r_>(z1()zchO}&45Y;eekWRXDd#tT zsDht6o)Elo!Mk(!*OO1%r?mG(g=VQjj_#VAH**)Y|0i%2g4(~x|I_tBZKCB&Nov}v z66x5M6Q=m3x%JJ_4-ZMrSr#_UC*A5PjU*Zc4^|a`{p@R4X(+r%#Ys-fIFgqmbKSX zKDI=MYIy$7yK_%l+36Giy{y&M`}G?CSK1<$QNba-6Wr?qF_KDx{_qv#FA)rwoa;#x=PwT^R( z@(vQuWX3#E+tl&y&5hMJzx6B*o7h&?rB>A3csoALWe)9{vAAef{q@G_9J)4+*xaA# zNL#z*!Ix)zR3CS(o+#^a55AZFV(z0Sn>+=fU5_rdor~F|{>T_xf4Da3kd)fILm-PZB-Y`f7d$u z`PGgqeak=W>;%K^3M$18wSQnfko=Zy@9RB7#|LiY?_aj}?|o0cc1GX)s(t1Ie>?p6 zx^;W{+z%JQb;^~mwYI(0u{YRs=89*df4hCA`DLqvaXstSbzLUA<{zJ}2wrWg9vHxI ze0{=^?h=LhFA34Fo|(Co^|zfka9>w+3#UHa=l^xfzAvM!ipraxSWYC~>-haQAy3!# zmNz{|RGX@;suyowYLjD@Z+zyfjLi=d#6CqFGc;77f4^mC#^Ohw-g8mSpZ{z?)7RIh zC=FbWE^liaT(#d8(=s(baj@57{pRGS`4_*7za&R(@0m02-j~YFbY*4uV=c#=XKI<} Gc>2Hpf22DA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..c7aafb16a823ac8535e0ff7147154a3b7c7dfe69 GIT binary patch literal 2551 zcmb_e4Nw%<9bcnCMTt-}& zP_=N7sWgaS2M`k)RE88|iHX$+Hfd(ah#-&;lN#z5m53T;Ohige#Pl5>H%Y2V#_7%M z?c2A%|JU#Td+%*YYRcM>;3t9+1PL)E8PniB9$x6QAo#zpc3UyLP4^^iln`V_xc{1j z?0F>;L4rzoONN|bUPrTnOTlo06)3ze4@4tK>`JePVY7gYT7jK+8?c+l|Bj(NXTUbZ zmWQ#0F z%z?zheQ6j0_Bzzil{4;Dp9P zs%VO!3GH%%qzPgSY8E)&miNCRJ-V3?h1Gz+ttHn}C4akIc=G+?l31L*ld4mC+s=DJ!iGr7(n1wU5p;rtJDl`1y*RUCrCy^vR0jTj0G5f zy~xA0#W)|@kAKDaH9;rw66{vq_>xEmzZoAnd300;G{gGkZNON6Ujc`WPxJR<;Ad4Z z<~G*>pwk~|_ZUnPY;rCmf>n0N)=%q6`Jn72Cg;a<*OFSeb&xt-t+5h#45L=zdM&HQ zt!fn@Sx%$YYBUqI-!FF+0VO!0zlX|woLJVuxa|OLmrCs6tND3ad{8HTu$uml)hPYD zqe_C!BcGx2^1y_WI!U!P`AcYA<~gH=vUv?)oYdb_PG! zb|R_avyEMs^3Yv0vW7}L-r4!-?~~8IR7=gTDR1~9vVC?FyMJxspj7e6SAS6CTatip zJEod+^J3i45${OBo&$Zqe!jrg_G0LbgEqdp@9K7kK5|z4NbQ;Xa!KdylGbk( z;l}#Kb#L~(7>d{ab>P(*>lecbcR}b-_X`Iu#FmEoZX`c$F3RXA@0b#HZEorz5r!=3 zRL2iyZhG!!bhz5GvAr-qV#YH~_tIZ0yiyp{^^s6r(fkkoRN7U+)V;BC(dF~E!k4z! z9RF%sL0Vp8O>tNNsqm)tAG~uiP78N zs$Xs2b=u=wIcINO`>s#EDHtrhHS=yXv24nd&X;>KN-HYDHaESYnz`jsO<~)+PadoO zo=a*yS3L%nf~%j-<=aduOf+0XPi5K`Rgx<{tNS}z)(wfQ&@{3E~U|O>2TkN zvpRR~_*aW!R)7CzC$E^6{9;8dyCHS+TI}BIX(c+3kW)1<;JVe;c6-v~ty{M=TK@dV v@CS`k?+z}G9{J$IyvyH)T+N>JPXDj&9Ns;gTr!;D|1>itrWl)6XZrpNLVc;Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/end/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..4a39b75ebaa351db458eb2ad6a4e9f8a245ec1b9 GIT binary patch literal 2560 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2da8a842807afcec47385d0686c40b40c6a0a3 GIT binary patch literal 2537 zcmb_e4Nw$i7+xWiLNU=$No`$34cOb=+vSd1xBxkg%Z`99!I@0=cK7Z!?rzWB<Na`JVTE zpZERV@5(dMA0PEV!~+lnjWVVgvcNqVTyXGk@Y`5lQVMSOyVK^&5EL@jcMXGTH%)+` z;cEnQj*??~l4eDxis3{HuPSu90UCl5lM3Aoo69S(g|`VVJ@SLM9f1W-k7UQ0aFaWg zw+m@YB>w3o>1K9GF012^q{raILK+Y_d4+)soeq~w7wVCIUK)&j(-;ExLzG-SlHxN6 z=a@3!R8it#or*wN99P3yor=*g8d9f;h1Iy4!f+BJ)F`f{sd!pV!h;_Kn3Fgwon@Fa zXbe2*5xb(eX$&hUC{PuUDp9gwgifc!a5bh@qX2=*MJ|OYL|t;^5QBl2SxIm!g6M*M zjEqIhQ}hUMbsz?(+fVC~2Xz99VTFtvBUHFArhXvD`f=_&$;rJ9(EP11#ak zy6vJO%69P%)c)6hF#xnRnfx|x>xCyjD49jkF_fu{A(vrwoQhDxGqVL3Cl<(${%HkoU=&`D_|k?FIErh`1WBuL z8rR0)1dZbZP?N|B)}ntxDViW?3jYff6b;8H%w548OIt@CJ|&pf^z=c@@iO^`vhiUzmD)BNJWkwbv{%YbHBUwP{h)|XeFLk6dX+bHngA{d}8 zu=9ZQU(!7QlSQjiz({7j>a(*2~x;XsD&bV zg5@-nR-+k;{dT^SI8DS2)!#k&J}4|}XIwTOv`Y-R_h|lGE#4^;f7?y}V>FnrOAZtn z_V@bhfA^=33R2lW1=_T4=szI9ga3%(T|g)a93ZL5U2PB)7-%%4nC&Yr*BqKVj+wMC ziA-qpet6O2!7lYQHLPBn7CvUov4+(_%nWa-S=*fZeduq2$B*}gM|H=QzL}nqF+T6% zJwKjGIrVIKetz~(9Ty%9t=<1vi1&)USS8<3U%RP4Qn~5~S;b7?&UXCP^Lh0Yb}>0J zdD-J3lQ($6>go{BCBxVRi0ev>s9)Pw(pQsdnDyi42x#dP?dk^noA0yTC);Z)5-z_H zA06FhZF%Wv!0y*h<(-^+wdiZ>I{oFhbhehV*s$m%IsCPKCaQJsXCDaRsf>JVSU^bE ztcfv5`KDoSKXRJ5b^6f9WzR<+ICS-J^~91JpG&soNAHU*`}F6;E2-Y|*LGbve=+QE z&Y0GqZta1^3v7`)J9fX<1(nXL4z0ME322ny&}aK1J(teyxz47rb1T2Swo5*cGo~RZ zI5xJfqHo!pu?g072mtEawKd~AJG0O2;*FgfdV6E!uV=#3@ydlCk67g3_8&|v*51Fn zXU6CUiz|fzq-_T*tkBbq34V+CnD(e z0Q(M)H9D-}#CMH5c9eHs5I#x{t_j*avFtlf+l^$+@|fb{UtczyUrc|IH+lIJTUuJy zgq>MR#Khv#!UdC?n!*ClHD=NY37OBVm$tOFzB28d1-(c}dDWBCH};&~*8a(6bM)-# z>zEn!+sv71)7KpfI9*m|IWZp}w`%W-qe03zho!o1#DTdRqfEb)$?`IdLPic8qIk3ilpfIaP!{sIBYd)N4ir91N_Q zc9n5fggl2`{Dp3AZtn2ByJ-K3o|7-_I~#j}PCsMKjVU**{PtE!Ky6uj!-~r7-4AU& z61wW@qf@qrPw2ZGHDP39hvil1nW!kowydoyyxWfj-YOb9?iaMA_C`C@q1w{@>+tkZ WN5@~0uK(`)GiIEfZt%=nwDJ#Bl8#RR literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/granite/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6c818d99dedac659adf146dc8eeb88b23325be GIT binary patch literal 2555 zcmb_e3se->86H$nRDu}PRY@{g&}hT#JoY)0tRf82ja`BWf{ze~nY)j=yR*#9vWq=Y z>@le*hKIVvL~DtMgs3$tJz3G5XljDBAgwl4qM|18P%x-Lu}y4adY8wZB-JFx(>*&o zckX=u|9{{A|M%W4&(4|~H+srw1VQ2~^Vl4CPlFdaDhB?(zJ1kNc#HMUTP!2Un1{nx z6!Pje6@tW6ICBe>0_)EiUUX|XK`a8AfZGev2=esofS2P}00k`qcBjXzzH#`78g&Y0 zb-vz8SiKp*;heWp0t;7Wz^v}~%fNAX8dszJ z5M_l~JtrIxEwE;z8KMMGT0>$yK~SiX)^G;Sprs9|C`C{@oY3MVg%L(ZXJRNVI`~n; zaFSqSa@c1EgTW`W+My_32FLw=zs9fCh>{&AX`03f3a2OxA~3nsqi_MtBPS1eV1dj_ zPOst=J!se?S0wrrvl>zz(BSq)+9pX#QV68y#7uAm|Lqg662m+-0nySS;;JcG6oZJPqds{>IHZXkVT)w zgUk|0GdZlr%VbD^Q$#6O6kS7=${wPOQhE(Zp)>NG9zpcWGrwg4SWW?Eb+~L8NnnH_ zm((&8!4SqL36dd*0jO0JoVL>ch3XiRWOT%Lps;BKPT_tOEbxp?l-wLt>~wQ>fO|c5 zH5$nylOei92?mDjwEZlsR>tCy70$y03u{(G(Hf^yV2TWS!Ukv_GnjOG3>bAfj237k zM$jfL35qBqMF>OotjPPqr5&;tpuJ8D1WqTAm<<$hn8~2yF^*COw^_}H>k1%)fobPGGVs$B z4A}b}06P7Fau2{{(Wdx03Cyv>Z2fpY;rC-Nb0t5_-N=zVWil8risp?NN5krIJZZ%A zBxMpv8{A&>U`YGDxN8Z9Gz|6M192ZrEbrhvb^y0aT>ao`ep)ZyuM*!|P5(zVczBl_ zXfpi!{n!8QTRSQ&W&af1ro+R?0RbN(M-1@5L`m=fi959VCV~u~U}5LvI@VmPJ@VYc zoa*>&zj+vz=&JkAjA7AZb*k8ejbt-Ba*~cTeNt3$sBUlDLwAQ?U4L-$wD(VZP^I!w zWOa1I-1IuMFm=lt`_BgNewws-{rJCyEc4_08ZX>D*>UUL8?rddU&E=ceD?nB`OSwO zP2M*#X8FF|8~1Lquftl$o%Ow5o`QTug_@_=zZ-uZBvxl{+Wja}*MABzvu$O^jri2n*E<(w+}8iSskiMnO?SR1?`}itVn?n0BXsk~;jUu3`)YSW zTW!Mr=yt=Oi=Tf&wZz`lGZRVQ5%gF5`x0eiyT&CkWZJT`^2qajHBiK{&!mZ)$>j7g zmzOR%p+E5T6l;oXT`#n*Q@%OpU6Ar-!Pbu8wEBXYg?m~(JIiX1URc$aRMvZ{dRgc7 z#+k@(FE*{|da-r-`~wYF5Y@}QOKmNWvzdRYIFPcj@|DC)Y5kUu-HU5BOrw997rc_5 zV)rx#V^^<*-=>pG3P)(8%c~{>%S={69%{K%TX@=ZuG{8mESYP2`$SF7x+~knoU#|T z-eGIfx?bBiYU_gF+V^7qr9G`u>C?`y8Q#jO`<_br!#nR#`lmKb9Tj!!sQDPt@urKc zio4u*6nP;z;Z9FU-;NtAvFyCO%xLePZ4-j3(%@ThTO!Qw-V#Z4mUMj@CC%DBqoi_iFaj=uEI zlJVsu@<)#Bbxyh1X)CmV`EZ$Z>k;3CQ{8*Uw*M^r_so)+#qLdC{;U52^p>Kg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..e356bc82574e79f5afaa3ba473cf27513ce661fe GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W@p< zr;B4qM&sKVf&48BJk7hg|Nqzj9v5OGe@>{=`PK9pCk)aeqa;{7=LjX#_UfLIy7nkV zmgkVVbz{yO?tm%%dMD+YjtXrIZ>VKd;f|U3_eI$T5W6X1zS{EeKhM%m#xYhg?yyPU z*d7?N^H`C>k6z}Dv%~)ti|v=rlxAT#HtWf`MTU=#U30rFRS+}(nDrgg;HW2F4971Q z&#g||tP-7|T*m3Qph1n><&V7m#0hyVYRgt!k5!IK|N7u9%VyydZtqyqkH#^6W1V1q sFfun`J;QIN8|6*kxGK0O%ylq}-_)C7ld(}Q8|YC6Pgg&ebxsLQ0G?oTaR2}S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/missingno/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..68e7c4c577d1349571e378bb73e0ec04b1375f68 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQk(@Ik;M!Q+`=Ht$S`Y;1W@pr zr;B4qM&sLvw_L3XBDZ(`__uz~@8z4Cx+kmHm$5sZopAWZmy8K6f{f3uTV$j~JwExz zki%{-_Y2-?#z~(pE8lkRh;YAQeISlOlgU5FzDnkeY=XXnK+feSTOP&dO?xA|fcwB( z&BDowE6aM{Iutx@wCL6TJmtrB#oT6w12?*DTut2W+;|nRo$b!`o4sW$w6 zY1x1Frp`%0hK7#&t>?LZ=Nc@LUf4SE%IkH4>o-Rouw(khbYkvM)2)jtI% zC>JofHolg9Kl`ExUy1VsJ={3;}_gUYtPOv^0oA{ogn(>KW!F7on o)(7Gke*0ax$5_vpCT<|@&l{L#J0)=nBhZHop00i_>zopr0NDO=S^xk5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/nether/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/nether/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..247899343259d1de4d8cccb4f04aac242f844d11 GIT binary patch literal 2546 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff5045707df1938a7e9d57f6b7fc36f9efd091c GIT binary patch literal 2300 zcmbVO2~gB#6b_0N1zWs2ieh8zv?}fu3-4|H(SFWsku9bK zlI9(1is7xS+T{=c8iFEvx&(?I!^*IgP34>hArU7siFS0P9 z)~IL>((jN=>!x*U6g=o)R>Z!2guM~oRBW2d4e-E%BHan)+tK>tMOt5J1_H+oqvyO z@Aex3fVL)+H^w`;I2_&(k{mq_q){ixJJFIkQ((~~R^rn|nvEU@Xm(Pv5y&W!rDR?- z^L$!;r3TbfhVf9f28TPRa88ELkh;8P!5S%CGA~iDM)d7J_L=46B8j zc!slO{vWC%H5yWfzX1hJ!%#ByQ7}W3HePg4AY;x!rLw5tOhsU?j${;{#)}{@V5jx4 zFqz0$rzBHOnvFFY5RkN*;~0|0LTQEw(<{BmsE9C~Mn%wJxC+N{ot_A1b>X1Z6^Veo zk*Cv@($?EEz&@O@T5S}IsjT6lgo@DWD3z79GAccRX(+vhwuXn*ssQZ!iySyxRN80z zQBItPNem}}YGu|PiDY(c-71ZPJ#9czw9?)NgjVXxf(&Y3bMH{#(=w>F&#<$==?BVP z3zK-8oI#0fWGYbWSkviNAAZmjWXKw$4_ z<&R26fOV$7ueNf;m&lD*EN*)6;yGD4g;ha|=fG~?(yz11&BBcME|ry)KBFd0GMw31T%41> zp+>F-Ou2nY6lH zd-hC--ge-?WYenCWtVgZkN73{%J~7CwmyoyxjGrVGv!mO9=8x@9Y*5g<6F%>y!k?W z;4IpLKMNL}LoKJx7yWYa^C9;t+=YP?#o>#!ZM&6Tt-07C^Ky5=Z|{Sb=k}G|Zd~$J z#E`*PX50}cTN{+$hj#hT$<3Yb+rfBCaNi86s5rMX*LQANnZ;sp?{p-Lve~ASLh~)h zBCTicq|a5WEhlW8E@=A@RhGWsf+pbhLo&Hnk0rCuSG%#K^{v*}791SCXu?e28Ee-b z&&ykIj9F*y+UmxQ&Wqv_pSN%GtU4|yZ+Txz{NeE7=p)%iB)f=PIO(T8tFj$c%KrG) zF0y<4FMnQr_?yp2$W-CF79MfDdQ1O)otKn)?639C9#VWHrJQcy!h4oKeM+E%Qiyft z&ez4g?XGNGF)3!vi^n^HlHJ>`vvc$E*2l!QSeo$N)3f%IzRUCMUp}c`FslEnfL!EN gV|aAK#QXkRf1R?o|MMj983RGF(fy2@dXJj=AMj~R9{>OV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/stone/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..5c374f95bba4e018fd57e411f2f430650a8e935c GIT binary patch literal 2500 zcmb_e3se+U7#=Mj7?z?EcsM$ZiGs||%)WPG1!X}OT@_df%Zg#4NVLz0h5XWR9GoUFGz5_gjo5@>Ks3)X z15M*afEpAO&XS}O)fp6wmeHyV+9Xs-D%Aw3A}A$J>S(o|R;tkM9|psToQ=*lWpoFF zPe#lk%K}XhUawc-RVjGUPEZDefgqKHQi($ZE|qv>#)o^PQ9T|^Kw?FwAUk;v8uZ8% z@I|r_gH*e6a0_9#9;v%duwsOd5eP~_26GAlIW~+FibPi^IL8ve1>C?ROAt$iv4Vq_ zdC9@w!FBlcEdgL{EtYVM+j4Qc!yzO&y%?s^U69+NC2NTQh-@J7MIsB*iy_TX!E6LN zO$3b0i&ma@^>k`R4`o!TQBX>B?2}Fp$9tuOn=F8dk%18lwhgC9oYYz=6|E#`Qa6sI zXp-!LT6oTBEBQB6O;Z%Drfz{k(Qu5+{3n=WX&W!P8JMxt&Da4Uc zhU`=!78VO__DC}0VS(9X#9-12r<0=@rN*G;3RqmN*K2XcrZ(UPJxAh{hEnN(UZXOw znjU)-&lUw++hfl`d$kI1jGCix8z^9Ky;jZQ45>2U3}Aq&fKwYNj_a|XE;`}bVqEv_ zC%EE*nxH2;CD^T!?j?}}=5~)%a9x+=;!!6yKe@QqSs1wT8t>O2gqAo0`NKEv3QL1^_tHpj0b$ zuzPpn9?~DF@6q3Vaqo7{Iv9@~!0nR2?mwG*)8bvT`Fl0}kJ%8xU9wAL#6R^HdUw-~ z3R@YPg4=X(7(O82L->dR9#|+59w6~AEviD0-e=9G30B989aYEX49P+kHJank*s`Br zxW%lx5g~t;zhUUM?H5k0MH|Yl4VYJ6d~w^$#b5ZRpL=KtdP#NWbV6Y+Gxs zE$VQ36}9nHYwGeUQ{%Bn-5A{uo$IR{4OasG`g-HYrnzx%u0;0lni9X_AQ_2N43Yyb zo-cf6f$NjDMC{1inp1N)W!2j|>X~iT`sFhQn-h+HCn7P6Uu0q`w=Nxo#kq%B;<7H4 zAp!Mk*;qx>KDXFA2d4%iuPi(aaToPXzqM_5Tv+nU2(+UA?ha5N97pxf z*mGn2{(ZXrtK&Umi&FES&5Ru(9bCE3{q(FMlUA-mX76?(scTCZp|01t&yKvFSl=v)t-;9 ziOPTBn=8j#e~+W)FbS;>Y`EImne$0(t<7$?Uwb|^Wny#9;?YKO@bUSsh{q-#diA2< z^Z7QH`~Cih{h7uEfymV+;<0`kW-D@%q7$NDes4|&p447nu|}+G-5AjjC>-=sPTmRY z+5Udjm*aj?HI)x~L5$1YJ8Np-+m3_1`kZ@0i2UH!8)xd9FZGKU>8ss$_>m*$J5LVX zb-B0jXk}$3+9!F*iSuRV9mkprW<^Ko>-OiDl*E3zhb*hBGYoH<`B8korDq*#ecgcq z_1yA{SEcANV~*PPTDQ-9 zBRYEQ>zP^C<6@S!oJt(|%&INz&fMJG$_JMpeY|>W*3a{jTMq5nQ8Vx1S4;zabjtMY zr!M^V+2H38OTfo|m7Fy6?dIkhYhuX$$doB3FBdf&P~{PMp55OIhQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock_withlegs.png b/src/main/resources/assets/petrock/textures/entity/petrock_withlegs.png deleted file mode 100644 index f12aaca83fc9428a14bc8fed135a988e50585315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFfs-Bgt$)Z>6trY#-h1%=gpis zbIO!iQ>V_EK7C4m|AN`GXHT0pZQ{h~lO`>kGiP#N-_!{cW=x*Ec;3AEvt~`|?F|VD z0a~<-fnhlV!$Jmza}p94q@)h<@a$q?xhyMtOh8~C2gi0s#yJcO|Ns9#AtZEBT6z@& z!y_G?-K?yKd3lfW^OrC%yfij`W?(Rjfng;B!)6ACD{^wP85kxoFkF(6sb^p~D=xl( zfnh5H!wd$74hDwF3=B&d7!GoCFJ@qPqNlfpf#J5Q>H#jUW(J0<^78W;8189k>||yJ zhQ}5Lh6h?&>lhf$h>0B+6zpVR`0eU?T~To^14B0h!zKoXDh7uAoSZYkZhPz*Zw>TG zSV@pyFwm*g2Mk`mIX8jf{n69KF{I+wmCHvb$r|#o21HJpY5ShnxD6QalYjn??_3__ znR?aqZlo)Bcz#XPwsjAGlyfRKZT4zkljIiLY-8tpaQ^y5MLbtC6Bhb(-j(K_61IBt zxsZc?+g=` zGnb0@H(Gq-(43{VaZ&jTrT`BMA%&+spV%%iwW#ITJ(UpE=-L>iuc=u1VdchES9*N5 zdT~aj%CTfAo@|WiXPDfyAo|kE^A1gi5?nVuU^~xrQOb8w2IJEV(h$Idp(|6i@x85g#48woS% zu2>-6fScHnGRfwY=J0mh(AsVs>o&{o~TDd#|5%9ys;t z&(llar>_0lFWh)^dHTIK>)*vj#?9x5*}Lu6({mTwr~bU=^5EvX=G)V+pF2DKydTTF vnEk&${Cl+caJ9E^W4+&_|NMVM5*Yg1IgY+|UVRIgycj%P{an^LB{Ts5JCe|p diff --git a/src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tame.png b/src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tame.png deleted file mode 100644 index 25d944e4b665522da23ef61bdec86106ce8f0d6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975 zcmb_a{ZrZn9R4uC`vNjwrjGDsYI`xxIXhd~vYj}%$wH1CP3F8NCTRoDv$)LW<_pz@ zLs1a%%Zn(q93JQoa?ZnUwzjr)nQukkKceUE^E~(b^!Yr`eH47& zaVnWk1^_B2mz9rcHa3X}9%JpX78fRjGG-nVU|{MMV$&+-pOdkLvXhnX%Bn^0i-B2M zSt3s4REWyN`C?INO_fKS1%TVZ=L*~V$vdIE?TmV=8c&L>`l$n?-loOU5l}lz`UN~eQAt$>fz*v-5M#e{!CPIAJ?NI zFwPVVmB{Rh+;`|Cp#tbiA_0v$KqIXaKE2X3?)%^-?zJ_%Mva!xhEo z?ccUHe1B^n{dH+qgIiVR|9#-`jl#FhNYTaN%@yw*r*>nFwY2$IzECjdoz~6p2qXTX pttbC3TPM!Hv8$nuw;T-Hjw%Me4Vkk0YOzNL;IMhD{+!~*{{V>C%k=;N diff --git a/src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tamesit.png b/src/main/resources/assets/petrock/textures/entity/petrock_withlegs_tamesit.png deleted file mode 100644 index 7536d53aef79d8758b32ee4862fbc5d297a31b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 977 zcmb_a{ZrEg9R4siZX0Zl6?3pTN7o2Q*W%4fEQOeCAdAL8xh0Km2n8OscBhDjj8stA z277_MvazV3f@3NiQ&JX&luTY6ZzI48MDtqZ(Y(5IegB9)chBd!=cmu-dG2Y-7i1Ig zF?awV@OfE6gbyHKVndOwds8`x5V|}gF9V?e_8!c|hlq}rbC1Xis*lM}l*-B=Lt6b_ z8Iym!w7g7MRw}LeXrgQ%KnN=Tkcivb+-&LS=(1R>27^JXHR^Qc_I9mGWiy%dt*z~C zZ6>|mZZ>O_N}XEmuv$Abnogs!t))dI5+R2^2lxWO4&b3ur($B<5fLsldUnT-?@1&x zz_(cJP)JBH7`#m;Pt$0<06*{Abq$00jzGAzZJQk6VRG^Yhhqfzm&?5j&;xLf!B7Lt z(COZtJL>>C0ZafL0F3||fNp@%@NfsfuWYsr;3ghF9vRsHa1~%UH1rg}N__m+05@>B zwZz0L02Tlri`4`$9~+D0)CX`0U~>C*C%_#F#Q=c(_CaS<7~-TzE)*0X^8X*m$*WpK z@_xe4$`GAgx;Hy6TjoTBNk~xpfYM((G+XN*35@xJiPM5OgE>Vn!xQO8pWzDz(XH z8O)UXKPHTSdEo74Z#o}0QJ>pV*nLdeTbMJ|`{673$$X;p8kUoQb+Ih2XkI?`I*(E1 zFJ_){@TI#Yds7F+pGHZjucuX;bL?B$&dPzJbw!}YWlHr6ik(BARMTf^ZJg(}R!94n zbI)1P!dC~bROHDRvEK7BM>jDG(@B|q4RK^2+Tm4n+q56g5px5VN|@2^zB*OOA$?&| zPRgD2{`tjl?CvV{IZ{QJ!iqLbB@maK>yO3KX&T=)Gby0-xCXamsDVbdcg*g4G@=aK zl=JDufBgQ}hU%pY;?AOyX7r$^F8z(Y`xdNc7`W4`*45L)&mRBcSma5bxaUU#?Q?-u z_CeHFm6sp9+<*8)8e56pcr diff --git a/src/main/resources/data/petrock/recipe/petrock_care_guide.json b/src/main/resources/data/petrock/recipe/petrock_care_guide.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/main/resources/data/petrock/recipe/petrock_care_guide.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/kibble.json b/src/main/resources/data/petrock/recipes/kibble.json deleted file mode 100644 index a768e58..0000000 --- a/src/main/resources/data/petrock/recipes/kibble.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "msm", - "scs", - "msm" - ], - "key": { - "m" :{ "item": "minecraft:stone"}, - "s": { "item": "petrock:stoneium"}, - "c": { "item": "minecraft:cookie"} - }, - "result": { - "item": "petrock:kibble" - } -} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/orderform.json b/src/main/resources/data/petrock/recipes/orderform.json deleted file mode 100644 index e5e882b..0000000 --- a/src/main/resources/data/petrock/recipes/orderform.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "ppp", - "pip", - "ppp" - ], - "key": { - "p": { "item": "minecraft:paper" }, - "i": { "item": "minecraft:ink_sac" } - }, - "result": { - "item": "petrock:orderform" - } -} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/petrock_care_guide.json b/src/main/resources/data/petrock/recipes/petrock_care_guide.json deleted file mode 100644 index 4d429ad..0000000 --- a/src/main/resources/data/petrock/recipes/petrock_care_guide.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "forge:conditional", - "recipes": [ - { - "conditions": [ - { - "type": "forge:mod_loaded", - "modid": "patchouli" - } - ], - "recipe": { - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "minecraft:book" - }, - { - "item": "petrock:stoneium" - } - ], - "result": { - "item": "patchouli:guide_book", - "nbt": { - "patchouli:book": "petrock:petrock_care_guide" - } - } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stone_legs.json b/src/main/resources/data/petrock/recipes/stone_legs.json deleted file mode 100644 index d0d5afd..0000000 --- a/src/main/resources/data/petrock/recipes/stone_legs.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "s s", - "s s" - ], - "key": { - "s": { "item": "minecraft:stone"} - }, - "result": { - "item": "petrock:stone_legs" - } -} \ No newline at end of file diff --git a/src/main/resources/data/petrock/recipes/stoneium.json b/src/main/resources/data/petrock/recipes/stoneium.json deleted file mode 100644 index dde0482..0000000 --- a/src/main/resources/data/petrock/recipes/stoneium.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#" - ], - "key": { - "#": { "item": "petrock:stoneium_block" } - }, - "result": { - "item": "petrock:stoneium", - "count": 9 - } -} \ No newline at end of file From f6f8848d1350f3f804cb6cb7a4cef0fa72dd2ab9 Mon Sep 17 00:00:00 2001 From: manmaed Date: Thu, 10 Oct 2024 22:03:29 +0100 Subject: [PATCH 06/12] Tags And Stuff --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 4 ++ .../6b877f43ad97d9ede9f5cbaa413888619ff304d5 | 7 +++ .../block/deepslate_ore_replaceables.json | 5 ++ .../tags/block/mineable/pickaxe.json | 6 ++ .../minecraft/tags/block/needs_iron_tool.json | 5 ++ .../tags/block/needs_stone_tool.json | 5 ++ .../tags/block/stone_ore_replaceables.json | 5 ++ .../blocks/deepslate_stoneium_ore.json | 21 +++++++ .../loot_table}/blocks/stoneium_block.json | 16 +++--- .../loot_table/blocks/stoneium_ore.json | 21 +++++++ .../petrock/tags/block/stoneium_ores.json | 6 ++ .../java/net/manmaed/petrock/PetRock.java | 2 - .../petrock/datagen/PRDataGeneration.java | 2 + .../manmaed/petrock/datagen/PRLootTabels.java | 43 ++++++++++++++ .../petrock/datagen/PRTagsProvider.java | 30 ++++++++++ .../java/net/manmaed/petrock/tag/PRTags.java | 15 +++++ .../en_us/entries/care/tame.json | 12 ++-- .../blocks/deepslate_stoneium_ore.json | 56 ------------------- .../loot_tables/blocks/stoneium_ore.json | 56 ------------------- 19 files changed, 190 insertions(+), 127 deletions(-) create mode 100644 src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d create mode 100644 src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 create mode 100644 src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json create mode 100644 src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json create mode 100644 src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json create mode 100644 src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json create mode 100644 src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json create mode 100644 src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json rename src/{main/resources/data/petrock/loot_tables => generated/resources/data/petrock/loot_table}/blocks/stoneium_block.json (71%) create mode 100644 src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/tags/block/stoneium_ores.json create mode 100644 src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java create mode 100644 src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java create mode 100644 src/main/java/net/manmaed/petrock/tag/PRTags.java delete mode 100644 src/main/resources/data/petrock/loot_tables/blocks/deepslate_stoneium_ore.json delete mode 100644 src/main/resources/data/petrock/loot_tables/blocks/stoneium_ore.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 0000000..ebab5dd --- /dev/null +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,4 @@ +// 1.21 2024-10-10T21:47:56.7375046 Loot Tables +2bd6428aeae38720c08eba0137ca39ffa96d2286 data/petrock/loot_table/blocks/deepslate_stoneium_ore.json +7af679161757b5d38fbc7b53505d81db5897b607 data/petrock/loot_table/blocks/stoneium_block.json +4f18b6f73887539039f1323bd2640b198dadb540 data/petrock/loot_table/blocks/stoneium_ore.json diff --git a/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 new file mode 100644 index 0000000..562418c --- /dev/null +++ b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 @@ -0,0 +1,7 @@ +// 1.21 2024-10-10T21:47:56.7365032 Tags for minecraft:block mod id petrock +ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/deepslate_ore_replaceables.json +0300e8ad8dfb7929984fb736bd69075e92ce2059 data/minecraft/tags/block/mineable/pickaxe.json +ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/needs_iron_tool.json +db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/needs_stone_tool.json +db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/stone_ore_replaceables.json +0300e8ad8dfb7929984fb736bd69075e92ce2059 data/petrock/tags/block/stoneium_ores.json diff --git a/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json b/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json new file mode 100644 index 0000000..342c001 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json @@ -0,0 +1,5 @@ +{ + "values": [ + "petrock:deepslate_stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json new file mode 100644 index 0000000..fff8ba3 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,6 @@ +{ + "values": [ + "petrock:stoneium_ore", + "petrock:deepslate_stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json new file mode 100644 index 0000000..342c001 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "petrock:deepslate_stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json new file mode 100644 index 0000000..ff24921 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "petrock:stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json b/src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json new file mode 100644 index 0000000..ff24921 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json @@ -0,0 +1,5 @@ +{ + "values": [ + "petrock:stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json new file mode 100644 index 0000000..995cc35 --- /dev/null +++ b/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "petrock:deepslate_stoneium_ore" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "petrock:blocks/deepslate_stoneium_ore" +} \ No newline at end of file diff --git a/src/main/resources/data/petrock/loot_tables/blocks/stoneium_block.json b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_block.json similarity index 71% rename from src/main/resources/data/petrock/loot_tables/blocks/stoneium_block.json rename to src/generated/resources/data/petrock/loot_table/blocks/stoneium_block.json index 0b59521..269f71c 100644 --- a/src/main/resources/data/petrock/loot_tables/blocks/stoneium_block.json +++ b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_block.json @@ -2,18 +2,20 @@ "type": "minecraft:block", "pools": [ { - "rolls": 1, + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", "name": "petrock:stoneium_block" } ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] + "rolls": 1.0 } - ] + ], + "random_sequence": "petrock:blocks/stoneium_block" } \ No newline at end of file diff --git a/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json new file mode 100644 index 0000000..d068319 --- /dev/null +++ b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "petrock:stoneium_ore" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "petrock:blocks/stoneium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/tags/block/stoneium_ores.json b/src/generated/resources/data/petrock/tags/block/stoneium_ores.json new file mode 100644 index 0000000..fff8ba3 --- /dev/null +++ b/src/generated/resources/data/petrock/tags/block/stoneium_ores.json @@ -0,0 +1,6 @@ +{ + "values": [ + "petrock:stoneium_ore", + "petrock:deepslate_stoneium_ore" + ] +} \ No newline at end of file diff --git a/src/main/java/net/manmaed/petrock/PetRock.java b/src/main/java/net/manmaed/petrock/PetRock.java index 68f2f3f..433c39d 100644 --- a/src/main/java/net/manmaed/petrock/PetRock.java +++ b/src/main/java/net/manmaed/petrock/PetRock.java @@ -20,8 +20,6 @@ public class PetRock { public static final String MOD_ID = "petrock"; - - public PetRock(IEventBus event) { PRItems.ITEMS.register(event); PRBlocks.BLOCKS.register(event); diff --git a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java index dd03cb9..3527d25 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java @@ -22,6 +22,8 @@ public static void gatherData(GatherDataEvent event) { CompletableFuture lookupProvider = event.getLookupProvider(); generator.addProvider(true, new PRRecipeProvider(packOutput, lookupProvider)); + generator.addProvider(true, new PRTagsProvider(packOutput, lookupProvider, fileHelper)); + generator.addProvider(true, new PRLootTabels(packOutput, lookupProvider)); diff --git a/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java b/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java new file mode 100644 index 0000000..9373d1f --- /dev/null +++ b/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java @@ -0,0 +1,43 @@ +package net.manmaed.petrock.datagen; + +import com.google.common.collect.ImmutableList; +import net.manmaed.petrock.block.PRBlocks; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import net.neoforged.neoforge.registries.DeferredHolder; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +public class PRLootTabels extends LootTableProvider { + protected PRLootTabels(PackOutput packOutput, CompletableFuture lookup) { + super(packOutput, Set.of(), ImmutableList.of(new LootTableProvider.SubProviderEntry(PRBlockLoot::new, LootContextParamSets.BLOCK)), lookup); + } + + public static class PRBlockLoot extends BlockLootSubProvider { + protected PRBlockLoot(HolderLookup.Provider lookup) { + super(Set.of(), FeatureFlags.REGISTRY.allFlags(), lookup); + } + + @Override + protected void generate() { + dropSelf(PRBlocks.STONEIUM_ORE.get()); + dropSelf(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + dropSelf(PRBlocks.STONEIUM_BLOCK.get()); + } + + @Override + protected Iterable getKnownBlocks() { + List blocks = new ArrayList<>(); + PRBlocks.BLOCKS.getEntries().stream().map(DeferredHolder::get).forEach((b) -> blocks.add(b.defaultBlockState().getBlock())); + return blocks; + } + } +} diff --git a/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java new file mode 100644 index 0000000..161c718 --- /dev/null +++ b/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java @@ -0,0 +1,30 @@ +package net.manmaed.petrock.datagen; + +import net.manmaed.petrock.PetRock; +import net.manmaed.petrock.block.PRBlocks; +import net.manmaed.petrock.tag.PRTags; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.tags.BlockTags; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class PRTagsProvider extends BlockTagsProvider { + + public PRTagsProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, PetRock.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + tag(BlockTags.STONE_ORE_REPLACEABLES).add(PRBlocks.STONEIUM_ORE.get()); + tag(BlockTags.DEEPSLATE_ORE_REPLACEABLES).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + tag(PRTags.STONEIUM_ORES).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + tag(BlockTags.NEEDS_STONE_TOOL).add(PRBlocks.STONEIUM_ORE.get()); + tag(BlockTags.NEEDS_IRON_TOOL).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + tag(BlockTags.MINEABLE_WITH_PICKAXE).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + } +} diff --git a/src/main/java/net/manmaed/petrock/tag/PRTags.java b/src/main/java/net/manmaed/petrock/tag/PRTags.java new file mode 100644 index 0000000..148d1df --- /dev/null +++ b/src/main/java/net/manmaed/petrock/tag/PRTags.java @@ -0,0 +1,15 @@ +package net.manmaed.petrock.tag; + +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; + +public class PRTags { + + public static final TagKey STONEIUM_ORES = create("stoneium_ores"); + + private static TagKey create(String name) { + return TagKey.create(BuiltInRegistries.BLOCK.key(), RLHelper.location(name)); + } +} diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json index fceb329..809fa1e 100644 --- a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json @@ -9,14 +9,14 @@ "text": "Stoneium Spawns in the Overworld. Use The Stoneium Ingots to tame a Petrock" }, { - "type": "spotlight", - "item": "petrock:stoneium_ore", - "text": "Mine to get Stoneium" + "type": "smelting", + "recipe": "petrock:stoneium_from_smelting_stoneium_ore", + "recipe2": "petrock:stoneium_from_smelting_deepslate_stoneium_ore" }, { - "type": "spotlight", - "item": "petrock:stoneium", - "text": "Drops from Stoneium Ore" + "type": "blasting", + "recipe": "petrock:stoneium_from_blasting_stoneium_ore", + "recipe2": "petrock:stoneium_from_blasting_deepslate_stoneium_ore" } ] } \ No newline at end of file diff --git a/src/main/resources/data/petrock/loot_tables/blocks/deepslate_stoneium_ore.json b/src/main/resources/data/petrock/loot_tables/blocks/deepslate_stoneium_ore.json deleted file mode 100644 index 487f668..0000000 --- a/src/main/resources/data/petrock/loot_tables/blocks/deepslate_stoneium_ore.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "petrock:deepslate_stoneium_ore" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2.0, - "max": 5.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:apply_bonus", - "enchantment": "minecraft:fortune", - "formula": "minecraft:ore_drops" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "petrock:stoneium" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/petrock/loot_tables/blocks/stoneium_ore.json b/src/main/resources/data/petrock/loot_tables/blocks/stoneium_ore.json deleted file mode 100644 index a87eaff..0000000 --- a/src/main/resources/data/petrock/loot_tables/blocks/stoneium_ore.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "petrock:stoneium_ore" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2.0, - "max": 5.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:apply_bonus", - "enchantment": "minecraft:fortune", - "formula": "minecraft:ore_drops" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "petrock:stoneium" - } - ] - } - ] - } - ] -} \ No newline at end of file From 001b60b83be7613ea4c51b18772cff566afc3c62 Mon Sep 17 00:00:00 2001 From: manmaed Date: Thu, 10 Oct 2024 23:48:31 +0100 Subject: [PATCH 07/12] disable the care guild for now --- .../{petrock_care_guide.json => petrock_care_guide.json.disabled} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/data/petrock/recipe/{petrock_care_guide.json => petrock_care_guide.json.disabled} (100%) diff --git a/src/main/resources/data/petrock/recipe/petrock_care_guide.json b/src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled similarity index 100% rename from src/main/resources/data/petrock/recipe/petrock_care_guide.json rename to src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled From 2180c5e2d0d99fd5613a0eec2bf6645c1b431db0 Mon Sep 17 00:00:00 2001 From: manmaed Date: Thu, 10 Oct 2024 23:49:16 +0100 Subject: [PATCH 08/12] world generation tests? --- build.gradle | 6 ++- gradle.properties | 5 +- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 7 +++ .../add_deepslate_stoneium_ore.json | 6 +++ .../biome_modifier/add_stoneium_ore.json | 6 +++ .../deep_overworld_ores.json | 18 +++++++ .../configured_feature/overworld_ores.json | 18 +++++++ .../deepslate_stoneium_ore.json | 27 +++++++++++ .../worldgen/placed_feature/stoneium_ore.json | 27 +++++++++++ .../petrock/datagen/PRDataGeneration.java | 1 + .../petrock/datagen/PRWorldGenProvider.java | 25 ++++++++++ .../worldgen/ores/PRBiomesModifers.java | 47 +++++++++++++++++++ .../worldgen/ores/PRConfiguredFeatures.java | 41 ++++++++++++++++ .../petrock/worldgen/ores/PROrePlacement.java | 20 ++++++++ .../worldgen/ores/PRPlacedFeatures.java | 35 ++++++++++++++ 15 files changed, 285 insertions(+), 4 deletions(-) create mode 100644 src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 create mode 100644 src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json create mode 100644 src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json create mode 100644 src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json create mode 100644 src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json create mode 100644 src/main/java/net/manmaed/petrock/datagen/PRWorldGenProvider.java create mode 100644 src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java create mode 100644 src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java create mode 100644 src/main/java/net/manmaed/petrock/worldgen/ores/PROrePlacement.java create mode 100644 src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java diff --git a/build.gradle b/build.gradle index 6e278ce..b548d4b 100644 --- a/build.gradle +++ b/build.gradle @@ -19,6 +19,9 @@ repositories { maven { url 'https://maven.blamejared.com' } + maven { + url 'https://maven.nanite.dev/' + } } base { @@ -58,7 +61,8 @@ dependencies { compileOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}:api" runtimeOnly "vazkii.patchouli:Patchouli:${minecraft_version}-${patchouli_version}" //runtimeOnly "curse.maven:CP-267193:3915811" - //runtimeOnly "curse.maven:${tk_slug}-${tk_pid}:${tk_fid}" + runtimeOnly "curse.maven:architectury-419699:5786327" + runtimeOnly "curse.maven:toolkit-324888:5521502" } tasks.withType(ProcessResources).configureEach { var replaceProperties = [ diff --git a/gradle.properties b/gradle.properties index dd05d34..ef61ad6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,6 +21,5 @@ curseforge_id=230556 #Other Mods patchouli_version=87-NEOFORGE-SNAPSHOT -tk_slug=tk -tk_pid=324888 -tk_fid=3827921 +toolkit_version=87.0.1 +jei_version=19.8.2.99 diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 new file mode 100644 index 0000000..9dde69f --- /dev/null +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -0,0 +1,7 @@ +// 1.21 2024-10-10T23:38:38.5957433 Registries +15db87768a35609b68c0f4a9b6a8937edf89a070 data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json +007d84b7786cd470d8dc83ee89d015dd8dd3b71d data/petrock/neoforge/biome_modifier/add_stoneium_ore.json +657a3f8a4f1137c0aff7f76efb2082e5995a1fdf data/petrock/worldgen/configured_feature/deep_overworld_ores.json +b2200afaa86f0e811a4bccb23f538d5168398d5d data/petrock/worldgen/configured_feature/overworld_ores.json +1a74faec1f4225d6500cd7a6274f030bcf48cff5 data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json +bad66348978688990db904807bf7f2c1710a7728 data/petrock/worldgen/placed_feature/stoneium_ore.json diff --git a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json new file mode 100644 index 0000000..a88de83 --- /dev/null +++ b/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "petrock:deepslate_stoneium_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json b/src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json new file mode 100644 index 0000000..00357b4 --- /dev/null +++ b/src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "petrock:stoneium_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json b/src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json new file mode 100644 index 0000000..5378258 --- /dev/null +++ b/src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 6, + "targets": [ + { + "state": { + "Name": "petrock:deepslate_stoneium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json b/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json new file mode 100644 index 0000000..eae0ad7 --- /dev/null +++ b/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 6, + "targets": [ + { + "state": { + "Name": "petrock:stoneium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json new file mode 100644 index 0000000..916e26f --- /dev/null +++ b/src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "petrock:deep_overworld_ores", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 0 + }, + "min_inclusive": { + "above_bottom": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json b/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json new file mode 100644 index 0000000..350b271 --- /dev/null +++ b/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "petrock:overworld_ores", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 0 + }, + "min_inclusive": { + "absolute": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java index 3527d25..ac83063 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java @@ -24,6 +24,7 @@ public static void gatherData(GatherDataEvent event) { generator.addProvider(true, new PRRecipeProvider(packOutput, lookupProvider)); generator.addProvider(true, new PRTagsProvider(packOutput, lookupProvider, fileHelper)); generator.addProvider(true, new PRLootTabels(packOutput, lookupProvider)); + generator.addProvider(true, new PRWorldGenProvider(packOutput, lookupProvider)); diff --git a/src/main/java/net/manmaed/petrock/datagen/PRWorldGenProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRWorldGenProvider.java new file mode 100644 index 0000000..c1aab1f --- /dev/null +++ b/src/main/java/net/manmaed/petrock/datagen/PRWorldGenProvider.java @@ -0,0 +1,25 @@ +package net.manmaed.petrock.datagen; + +import net.manmaed.petrock.PetRock; +import net.manmaed.petrock.worldgen.ores.PRBiomesModifers; +import net.manmaed.petrock.worldgen.ores.PRConfiguredFeatures; +import net.manmaed.petrock.worldgen.ores.PRPlacedFeatures; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +public class PRWorldGenProvider extends DatapackBuiltinEntriesProvider { + public PRWorldGenProvider(PackOutput output, CompletableFuture completableFuture) { + super(output, completableFuture, new RegistrySetBuilder() + .add(Registries.CONFIGURED_FEATURE, PRConfiguredFeatures::bootstrap) + .add(Registries.PLACED_FEATURE, PRPlacedFeatures::bootstrap) + .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, PRBiomesModifers::bootstrap), + Set.of(PetRock.MOD_ID)); + } +} diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java new file mode 100644 index 0000000..b5897cc --- /dev/null +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java @@ -0,0 +1,47 @@ +package net.manmaed.petrock.worldgen.ores; + +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.HolderSet; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.levelgen.GenerationStep; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.common.world.BiomeModifiers; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +public class PRBiomesModifers { + + private static ResourceKey ADD_STONEIUM_ORE = createKey("add_stoneium_ore"); + private static ResourceKey ADD_DEEPSLATE_STONEIUM_ORE = createKey("add_deepslate_stoneium_ore"); + + + public static void bootstrap(BootstrapContext context) { + HolderGetter placedFeaturs = context.lookup(Registries.PLACED_FEATURE); + HolderGetter biomes = context.lookup(Registries.BIOME); + + context.register( + ADD_STONEIUM_ORE, + new BiomeModifiers.AddFeaturesBiomeModifier( + biomes.getOrThrow(BiomeTags.IS_OVERWORLD), + HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.STONEIUM_ORE)), + GenerationStep.Decoration.UNDERGROUND_ORES + )); + context.register( + ADD_DEEPSLATE_STONEIUM_ORE, + new BiomeModifiers.AddFeaturesBiomeModifier( + biomes.getOrThrow(BiomeTags.IS_OVERWORLD), + HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.DEEPSLATE_STONEIUM_ORE)), + GenerationStep.Decoration.UNDERGROUND_ORES + )); + + } + + private static ResourceKey createKey(String name){ + return ResourceKey.create(NeoForgeRegistries.Keys.BIOME_MODIFIERS, RLHelper.location(name)); + } +} diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java new file mode 100644 index 0000000..1724639 --- /dev/null +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java @@ -0,0 +1,41 @@ +package net.manmaed.petrock.worldgen.ores; + +import net.manmaed.petrock.block.PRBlocks; +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; +import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; +import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; +import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; + +import java.util.List; + +public class PRConfiguredFeatures { + protected static ResourceKey> OVERWORLD_ORES = createKey("overworld_ores"); + protected static ResourceKey> DEEP_OVERWORLD_ORES = createKey("deep_overworld_ores"); + + public static void bootstrap(BootstrapContext> context) { + RuleTest stoneReplaceable = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); + RuleTest deepslateReplaceable = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); + + List stoneiumOre = List.of(OreConfiguration.target(stoneReplaceable, PRBlocks.STONEIUM_ORE.get().defaultBlockState())); + List deepslateStoneiumOre = List.of(OreConfiguration.target(deepslateReplaceable, PRBlocks.DEEPSLATE_STONEIUM_ORE.get().defaultBlockState())); + + register(context, OVERWORLD_ORES, Feature.ORE, new OreConfiguration(stoneiumOre, 6)); + register(context, DEEP_OVERWORLD_ORES, Feature.ORE, new OreConfiguration(deepslateStoneiumOre, 6)); + + } + + private static ResourceKey> createKey(String name){ + return ResourceKey.create(Registries.CONFIGURED_FEATURE, RLHelper.location(name)); + } + + private static > void register(BootstrapContext> context, ResourceKey> key, F feature, FC config) { + context.register(key, new ConfiguredFeature<>(feature, config)); + } +} diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PROrePlacement.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PROrePlacement.java new file mode 100644 index 0000000..6ef36d5 --- /dev/null +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PROrePlacement.java @@ -0,0 +1,20 @@ +package net.manmaed.petrock.worldgen.ores; + +import net.minecraft.world.level.levelgen.placement.*; + +import java.util.List; + +public class PROrePlacement { + + private static List orePlacements(PlacementModifier placementModifier, PlacementModifier placementModifier1) { + return List.of(placementModifier, InSquarePlacement.spread(), placementModifier1, BiomeFilter.biome()); + } + + public static List commonOrePlacements(int count, PlacementModifier placementModifier) { + return orePlacements(CountPlacement.of(count), placementModifier); + } + + public static List rareOrePlacements(int count, PlacementModifier placementModifier) { + return orePlacements(RarityFilter.onAverageOnceEvery(count), placementModifier); + } +} diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java new file mode 100644 index 0000000..bba158a --- /dev/null +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java @@ -0,0 +1,35 @@ +package net.manmaed.petrock.worldgen.ores; + +import net.manmaed.petrock.libs.RLHelper; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.levelgen.VerticalAnchor; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.placement.HeightRangePlacement; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; +import net.minecraft.world.level.levelgen.placement.PlacementModifier; + +import java.util.List; + +public class PRPlacedFeatures { + protected static ResourceKey STONEIUM_ORE = createKey("stoneium_ore"); + protected static ResourceKey DEEPSLATE_STONEIUM_ORE = createKey("deepslate_stoneium_ore"); + + public static void bootstrap(BootstrapContext context) { + HolderGetter> configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE); + Holder> featureHolder = configuredFeatures.getOrThrow(PRConfiguredFeatures.OVERWORLD_ORES); + Holder> featureHolder2 = configuredFeatures.getOrThrow(PRConfiguredFeatures.DEEP_OVERWORLD_ORES); + + register(context, STONEIUM_ORE, featureHolder, PROrePlacement.commonOrePlacements(5, HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.TOP))); + register(context, DEEPSLATE_STONEIUM_ORE, featureHolder2, PROrePlacement.commonOrePlacements(5, HeightRangePlacement.uniform(VerticalAnchor.BOTTOM, VerticalAnchor.absolute(0)))); + } + private static void register(BootstrapContext context, ResourceKey resourceKey, Holder> configuredFeatureHolder, List placementModifiers) { + context.register(resourceKey, new PlacedFeature(configuredFeatureHolder, placementModifiers)); + } + private static ResourceKey createKey(String name){ + return ResourceKey.create(Registries.PLACED_FEATURE, RLHelper.location(name)); + } +} From 1b2ce65623d4b76ae47fd43fdff6d6bd38c3960c Mon Sep 17 00:00:00 2001 From: manmaed Date: Thu, 10 Oct 2024 23:53:14 +0100 Subject: [PATCH 09/12] allow the stoneium block to be mined --- .../.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 | 4 ++-- .../data/minecraft/tags/block/needs_stone_tool.json | 3 ++- .../java/net/manmaed/petrock/datagen/PRTagsProvider.java | 2 +- .../data/minecraft/tags/blocks/mineable/pickaxe.json | 7 ------- .../data/minecraft/tags/blocks/needs_iron_tool.json | 7 ------- 5 files changed, 5 insertions(+), 18 deletions(-) delete mode 100644 src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json delete mode 100644 src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json diff --git a/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 index 562418c..0ae87cb 100644 --- a/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 +++ b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 @@ -1,7 +1,7 @@ -// 1.21 2024-10-10T21:47:56.7365032 Tags for minecraft:block mod id petrock +// 1.21 2024-10-10T23:52:38.4730507 Tags for minecraft:block mod id petrock ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/deepslate_ore_replaceables.json 0300e8ad8dfb7929984fb736bd69075e92ce2059 data/minecraft/tags/block/mineable/pickaxe.json ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/needs_iron_tool.json -db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/needs_stone_tool.json +2dc35104a8823ca5e88f6f58c133a8a8288d8bdb data/minecraft/tags/block/needs_stone_tool.json db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/stone_ore_replaceables.json 0300e8ad8dfb7929984fb736bd69075e92ce2059 data/petrock/tags/block/stoneium_ores.json diff --git a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json index ff24921..7a0d2ce 100644 --- a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json +++ b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json @@ -1,5 +1,6 @@ { "values": [ - "petrock:stoneium_ore" + "petrock:stoneium_ore", + "petrock:stoneium_block" ] } \ No newline at end of file diff --git a/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java index 161c718..60236c9 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java @@ -23,7 +23,7 @@ protected void addTags(HolderLookup.Provider provider) { tag(BlockTags.STONE_ORE_REPLACEABLES).add(PRBlocks.STONEIUM_ORE.get()); tag(BlockTags.DEEPSLATE_ORE_REPLACEABLES).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); tag(PRTags.STONEIUM_ORES).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); - tag(BlockTags.NEEDS_STONE_TOOL).add(PRBlocks.STONEIUM_ORE.get()); + tag(BlockTags.NEEDS_STONE_TOOL).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.STONEIUM_BLOCK.get()); tag(BlockTags.NEEDS_IRON_TOOL).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); tag(BlockTags.MINEABLE_WITH_PICKAXE).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); } diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json deleted file mode 100644 index 1c35136..0000000 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "values": [ - "petrock:stoneium_ore", - "petrock:deepslate_stoneium_ore", - "petrock:stoneium_block" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json deleted file mode 100644 index 1c35136..0000000 --- a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "values": [ - "petrock:stoneium_ore", - "petrock:deepslate_stoneium_ore", - "petrock:stoneium_block" - ] -} \ No newline at end of file From c164b29bbc1080ead68eefed50d1650401058db2 Mon Sep 17 00:00:00 2001 From: manmaed Date: Fri, 11 Oct 2024 13:53:16 +0100 Subject: [PATCH 10/12] Raw --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 6 +-- .../blocks/deepslate_stoneium_ore.json | 45 +++++++++++++++--- .../loot_table/blocks/stoneium_ore.json | 45 +++++++++++++++--- .../manmaed/petrock/datagen/PRLootTabels.java | 6 ++- .../net/manmaed/petrock/item/PRItems.java | 3 ++ .../petrock/models/item/raw_stoneium.json | 6 +++ .../petrock/textures/item/raw_stoneium.png | Bin 0 -> 477 bytes 7 files changed, 92 insertions(+), 19 deletions(-) create mode 100644 src/main/resources/assets/petrock/models/item/raw_stoneium.json create mode 100644 src/main/resources/assets/petrock/textures/item/raw_stoneium.png diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index ebab5dd..a50d29d 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21 2024-10-10T21:47:56.7375046 Loot Tables -2bd6428aeae38720c08eba0137ca39ffa96d2286 data/petrock/loot_table/blocks/deepslate_stoneium_ore.json +// 1.21 2024-10-11T13:52:02.8043814 Loot Tables +82e8b556e28d2d3cd59de1a08a9033160533fcf1 data/petrock/loot_table/blocks/deepslate_stoneium_ore.json 7af679161757b5d38fbc7b53505d81db5897b607 data/petrock/loot_table/blocks/stoneium_block.json -4f18b6f73887539039f1323bd2640b198dadb540 data/petrock/loot_table/blocks/stoneium_ore.json +36f68e1fb18bcc0348c84bd867f7637ad2ab3262 data/petrock/loot_table/blocks/stoneium_ore.json diff --git a/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json index 995cc35..6e512e8 100644 --- a/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json +++ b/src/generated/resources/data/petrock/loot_table/blocks/deepslate_stoneium_ore.json @@ -3,15 +3,46 @@ "pools": [ { "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], "entries": [ { - "type": "minecraft:item", - "name": "petrock:deepslate_stoneium_ore" + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "petrock:stoneium_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "petrock:raw_stoneium" + } + ] } ], "rolls": 1.0 diff --git a/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json index d068319..b30dbd8 100644 --- a/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json +++ b/src/generated/resources/data/petrock/loot_table/blocks/stoneium_ore.json @@ -3,15 +3,46 @@ "pools": [ { "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], "entries": [ { - "type": "minecraft:item", - "name": "petrock:stoneium_ore" + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "petrock:stoneium_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "petrock:raw_stoneium" + } + ] } ], "rolls": 1.0 diff --git a/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java b/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java index 9373d1f..1efee4a 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRLootTabels.java @@ -2,6 +2,7 @@ import com.google.common.collect.ImmutableList; import net.manmaed.petrock.block.PRBlocks; +import net.manmaed.petrock.item.PRItems; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.loot.BlockLootSubProvider; @@ -28,8 +29,9 @@ protected PRBlockLoot(HolderLookup.Provider lookup) { @Override protected void generate() { - dropSelf(PRBlocks.STONEIUM_ORE.get()); - dropSelf(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + + add(PRBlocks.STONEIUM_ORE.get(), createOreDrop(PRBlocks.STONEIUM_ORE.get(), PRItems.RAW_STONEIUM.get())); + add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get(), createOreDrop(PRBlocks.STONEIUM_ORE.get(), PRItems.RAW_STONEIUM.get())); dropSelf(PRBlocks.STONEIUM_BLOCK.get()); } diff --git a/src/main/java/net/manmaed/petrock/item/PRItems.java b/src/main/java/net/manmaed/petrock/item/PRItems.java index fa980ae..41946db 100644 --- a/src/main/java/net/manmaed/petrock/item/PRItems.java +++ b/src/main/java/net/manmaed/petrock/item/PRItems.java @@ -22,5 +22,8 @@ public class PRItems { public static final DeferredItem PETROCKBOX = ITEMS.register("petrockbox", () -> new PetRockBox(new Item.Properties())); public static final DeferredItem PETROCKWITHLEGSBOX = ITEMS.register("petrockwithlegsbox", () -> new PetRockWithLegsBox(new Item.Properties())); public static final DeferredItem STONE_LEGS = ITEMS.register("stone_legs", () -> new StoneLegs(new Item.Properties())); + public static final DeferredItem RAW_STONEIUM = ITEMS.register("raw_stoneium", () -> new Item(new Item.Properties())); + + } diff --git a/src/main/resources/assets/petrock/models/item/raw_stoneium.json b/src/main/resources/assets/petrock/models/item/raw_stoneium.json new file mode 100644 index 0000000..4192ba4 --- /dev/null +++ b/src/main/resources/assets/petrock/models/item/raw_stoneium.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "petrock:item/raw_stoneium" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/petrock/textures/item/raw_stoneium.png b/src/main/resources/assets/petrock/textures/item/raw_stoneium.png new file mode 100644 index 0000000000000000000000000000000000000000..e84c34fbc0baee5b44a288450beffff359bc9273 GIT binary patch literal 477 zcmV<30V4j1P)LlQF9DKoo_)NuHvDf*_)mh1g^T7WTI8!VSb#B%5&^ zf>k;r2x`cnMRX!MLY!AT489lt;>TOwx##1aGc&>%!zX2Zqz1m;H9gOJyVh(r6MuW+ zuLaNZOub&G-|tf@m1wuygkeY&MJS~TkY9kOxZCa0>2$Cxi!95qEQ>TvS+Cb5N%9L~ zy^1H33DfEHhb#n-$0LW-YBhSj9#YC;2A<~`*L49f#xNWX+3)w*wv7;i)9J+ZdgXjR z|2xF_e2(KdL{UVwS|v?Wlu{UD&|0(IZr|nlV?jzuk|Z3DN6O_g_xl~C6mcBqXO81A z9*-G~M!2q<2bXW4wFbbpZPGL)j$@Qk3F;&u)$?orE#QCa literal 0 HcmV?d00001 From 96679d4919e412aa970e67deaf0270a711e7e9e4 Mon Sep 17 00:00:00 2001 From: manmaed Date: Fri, 11 Oct 2024 19:11:35 +0100 Subject: [PATCH 11/12] work on wrold generation --- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 11 +++--- .../6b877f43ad97d9ede9f5cbaa413888619ff304d5 | 7 ++-- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 8 ++++- .../b653864d8b7efe6192261aa3b1668a7607668265 | 3 ++ .../resources/data/c/tags/block/ores.json | 5 +++ .../data/c/tags/item/raw_materials.json | 5 +++ .../block/deepslate_ore_replaceables.json | 5 --- .../block/overworld_carver_replaceables.json | 5 +++ ...replaceables.json => snaps_goat_horn.json} | 0 .../recipes/misc/petrock_care_guide.json | 32 ++++++++++++++++++ .../patchouli/recipe/petrock_care_guide.json | 19 +++++++++++ .../stoneium_from_blasting_raw_stoneium.json | 32 ++++++++++++++++++ .../stoneium_from_smelting_raw_stoneium.json | 32 ++++++++++++++++++ .../add_deepslate_stoneium_ore.json | 6 ---- ...dd_stoneium_ore.json => ore_stoneium.json} | 2 +- .../stoneium_from_blasting_raw_stoneium.json | 13 +++++++ .../stoneium_from_smelting_raw_stoneium.json | 13 +++++++ .../tags/item/raw_materials_stoneium.json | 5 +++ ..._overworld_ores.json => ore_stoneium.json} | 11 +++++- .../configured_feature/overworld_ores.json | 18 ---------- ...te_stoneium_ore.json => ore_stoneium.json} | 8 ++--- .../worldgen/placed_feature/stoneium_ore.json | 27 --------------- ...Provider.java => PRBlockTagsProvider.java} | 10 +++--- .../petrock/datagen/PRDataGeneration.java | 4 ++- .../petrock/datagen/PRItemTagsProvider.java | 27 +++++++++++++++ .../petrock/datagen/PRRecipeProvider.java | 19 ++++++----- .../manmaed/petrock/entity/EntityPetRock.java | 16 +++++++-- .../petrock/entity/EntityPetRockWithLegs.java | 12 +++++++ .../java/net/manmaed/petrock/tag/PRTags.java | 10 ++++-- .../worldgen/ores/PRBiomesModifers.java | 13 ++++--- .../worldgen/ores/PRConfiguredFeatures.java | 19 ++++++----- .../worldgen/ores/PRPlacedFeatures.java | 12 +++---- .../resources/assets/petrock/lang/en_us.json | 1 + .../en_us/entries/care/tame.json | 18 +++++++++- .../en_us/entries/variant/variant.json | 10 ++++++ .../textures/entity/petrock/squidgy/sit.png | Bin 0 -> 2739 bytes .../textures/entity/petrock/squidgy/tame.png | Bin 0 -> 2938 bytes .../entity/petrock/squidgy/untame.png | Bin 0 -> 2733 bytes .../entity/petrock/with_legs/squidgy/sit.png | Bin 0 -> 3129 bytes .../entity/petrock/with_legs/squidgy/tame.png | Bin 0 -> 3118 bytes .../petrock/with_legs/squidgy/untame.png | Bin 0 -> 3121 bytes .../petrock/kibble.json | 0 .../petrock/order_form.json | 0 .../petrock/petrockbox.json | 0 .../petrock/petrockwithlegsbox.json | 0 .../petrock/root.json | 0 .../petrock/stoneium.json | 0 .../petrock/warranty_void.json | 0 .../recipe/petrock_care_guide.json.disabled | 1 - 49 files changed, 326 insertions(+), 113 deletions(-) create mode 100644 src/generated/resources/.cache/b653864d8b7efe6192261aa3b1668a7607668265 create mode 100644 src/generated/resources/data/c/tags/block/ores.json create mode 100644 src/generated/resources/data/c/tags/item/raw_materials.json delete mode 100644 src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json create mode 100644 src/generated/resources/data/minecraft/tags/block/overworld_carver_replaceables.json rename src/generated/resources/data/minecraft/tags/block/{stone_ore_replaceables.json => snaps_goat_horn.json} (100%) create mode 100644 src/generated/resources/data/patchouli/advancement/recipes/misc/petrock_care_guide.json create mode 100644 src/generated/resources/data/patchouli/recipe/petrock_care_guide.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_raw_stoneium.json create mode 100644 src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_raw_stoneium.json delete mode 100644 src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json rename src/generated/resources/data/petrock/neoforge/biome_modifier/{add_stoneium_ore.json => ore_stoneium.json} (73%) create mode 100644 src/generated/resources/data/petrock/recipe/stoneium_from_blasting_raw_stoneium.json create mode 100644 src/generated/resources/data/petrock/recipe/stoneium_from_smelting_raw_stoneium.json create mode 100644 src/generated/resources/data/petrock/tags/item/raw_materials_stoneium.json rename src/generated/resources/data/petrock/worldgen/configured_feature/{deep_overworld_ores.json => ore_stoneium.json} (59%) delete mode 100644 src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json rename src/generated/resources/data/petrock/worldgen/placed_feature/{deepslate_stoneium_ore.json => ore_stoneium.json} (73%) delete mode 100644 src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json rename src/main/java/net/manmaed/petrock/datagen/{PRTagsProvider.java => PRBlockTagsProvider.java} (69%) create mode 100644 src/main/java/net/manmaed/petrock/datagen/PRItemTagsProvider.java create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/squidgy/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/squidgy/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/squidgy/untame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/sit.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/tame.png create mode 100644 src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/untame.png rename src/main/resources/data/petrock/{advancements => advancement}/petrock/kibble.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/order_form.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/petrockbox.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/petrockwithlegsbox.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/root.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/stoneium.json (100%) rename src/main/resources/data/petrock/{advancements => advancement}/petrock/warranty_void.json (100%) delete mode 100644 src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 9dde69f..94ae0e2 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,7 +1,4 @@ -// 1.21 2024-10-10T23:38:38.5957433 Registries -15db87768a35609b68c0f4a9b6a8937edf89a070 data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json -007d84b7786cd470d8dc83ee89d015dd8dd3b71d data/petrock/neoforge/biome_modifier/add_stoneium_ore.json -657a3f8a4f1137c0aff7f76efb2082e5995a1fdf data/petrock/worldgen/configured_feature/deep_overworld_ores.json -b2200afaa86f0e811a4bccb23f538d5168398d5d data/petrock/worldgen/configured_feature/overworld_ores.json -1a74faec1f4225d6500cd7a6274f030bcf48cff5 data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json -bad66348978688990db904807bf7f2c1710a7728 data/petrock/worldgen/placed_feature/stoneium_ore.json +// 1.21 2024-10-11T16:44:14.9784635 Registries +c34d991a19c0ba5698aab824c367216c8002b112 data/petrock/neoforge/biome_modifier/ore_stoneium.json +02a2ce55d768e52abc0580b791c03b427edd5b00 data/petrock/worldgen/configured_feature/ore_stoneium.json +e63883e11583307b102ba58f572dfef314534797 data/petrock/worldgen/placed_feature/ore_stoneium.json diff --git a/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 index 0ae87cb..c361289 100644 --- a/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 +++ b/src/generated/resources/.cache/6b877f43ad97d9ede9f5cbaa413888619ff304d5 @@ -1,7 +1,8 @@ -// 1.21 2024-10-10T23:52:38.4730507 Tags for minecraft:block mod id petrock -ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/deepslate_ore_replaceables.json +// 1.21 2024-10-11T17:06:45.9812272 Tags for minecraft:block mod id petrock +7e101ad3299254dc0037fcc9f2240591195d8e51 data/c/tags/block/ores.json 0300e8ad8dfb7929984fb736bd69075e92ce2059 data/minecraft/tags/block/mineable/pickaxe.json ec6f2f7823e9f0ae5d79667cc6788305addb1eea data/minecraft/tags/block/needs_iron_tool.json 2dc35104a8823ca5e88f6f58c133a8a8288d8bdb data/minecraft/tags/block/needs_stone_tool.json -db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/stone_ore_replaceables.json +7e101ad3299254dc0037fcc9f2240591195d8e51 data/minecraft/tags/block/overworld_carver_replaceables.json +db058be6ec8fa77e6f040ec4045273da87b01316 data/minecraft/tags/block/snaps_goat_horn.json 0300e8ad8dfb7929984fb736bd69075e92ce2059 data/petrock/tags/block/stoneium_ores.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 4a5df62..d857aed 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,12 +1,16 @@ -// 1.21 2024-10-10T14:30:47.5129546 Recipes +// 1.21 2024-10-11T19:00:29.1028386 Recipes +d91bf3d2aa2087d700a7382fa2052d35dfea05ad data/patchouli/advancement/recipes/misc/petrock_care_guide.json +6fa05df0797e4637b5bf03ba72f1605d5ed9def5 data/patchouli/recipe/petrock_care_guide.json daeded4e6f345cea445154262efc4a5521be786a data/petrock/advancement/recipes/building_blocks/stoneium_block.json 4220705455e8113890613d8ff1c2d3e761dddaef data/petrock/advancement/recipes/food/kibble.json dacb8316598457a4bfa8eb3946f9c233e4338054 data/petrock/advancement/recipes/misc/orderform.json b6c3e059eeae7df4c8f5d0aa32656555e764bd6b data/petrock/advancement/recipes/misc/petrockwithlegsbox.json 56d93ce5bb0a4f148f61b70be0da7b7925c2618d data/petrock/advancement/recipes/misc/stoneium.json e39bceb30dc2bf3923ab4a57d113105505ec7c86 data/petrock/advancement/recipes/misc/stoneium_from_blasting_deepslate_stoneium_ore.json +318387f7da7c249eba3d9d3d0d2b8120873b0556 data/petrock/advancement/recipes/misc/stoneium_from_blasting_raw_stoneium.json d248c0be779d3848c045466ac8e2971cca3daa13 data/petrock/advancement/recipes/misc/stoneium_from_blasting_stoneium_ore.json d162002958809390062d5428f3666a074c9f5ca9 data/petrock/advancement/recipes/misc/stoneium_from_smelting_deepslate_stoneium_ore.json +fe44d466200e4d951b932fec788a5a6ac058e667 data/petrock/advancement/recipes/misc/stoneium_from_smelting_raw_stoneium.json ee3f5f2120e112be968e3038fd11b62369de6d35 data/petrock/advancement/recipes/misc/stoneium_from_smelting_stoneium_ore.json fcbde02033683cf034b03993dce5a903bed079f7 data/petrock/advancement/recipes/misc/stone_legs.json 4f0c5c18baeddc15d25b570534865362676a0019 data/petrock/recipe/kibble.json @@ -15,7 +19,9 @@ f1c7cfa16f035cbd63984b249f9f76bc05abc63e data/petrock/recipe/orderform.json f08412e8aa01050a02ee166be85121774234942d data/petrock/recipe/stoneium.json 2a7cda24738954a5e20a768f7279ef38d3ff851b data/petrock/recipe/stoneium_block.json 4b599e1fab599649eaf0dcf44c8f0f992ae6c2cd data/petrock/recipe/stoneium_from_blasting_deepslate_stoneium_ore.json +dc4c1031e840543dccdf6843472e22ab0c81b68d data/petrock/recipe/stoneium_from_blasting_raw_stoneium.json 1c165e19a82324517584d4150b90a5bc0da2a3e7 data/petrock/recipe/stoneium_from_blasting_stoneium_ore.json 61e213364139a509f4ede73cf3ced9cf02f2aaa0 data/petrock/recipe/stoneium_from_smelting_deepslate_stoneium_ore.json +e0402ecc4449dd2d6144e1164c2557d410d2c048 data/petrock/recipe/stoneium_from_smelting_raw_stoneium.json e57bf3c37c1a12843114e2e49e695184ee3b86a3 data/petrock/recipe/stoneium_from_smelting_stoneium_ore.json b21169132ddb0b9541d7d0419e3998466fbfad99 data/petrock/recipe/stone_legs.json diff --git a/src/generated/resources/.cache/b653864d8b7efe6192261aa3b1668a7607668265 b/src/generated/resources/.cache/b653864d8b7efe6192261aa3b1668a7607668265 new file mode 100644 index 0000000..acc432c --- /dev/null +++ b/src/generated/resources/.cache/b653864d8b7efe6192261aa3b1668a7607668265 @@ -0,0 +1,3 @@ +// 1.21 2024-10-11T18:52:23.8796269 Tags for minecraft:item mod id petrock +783a0c67afdaf913fb65384c166c8207f82b4c5e data/c/tags/item/raw_materials.json +65ce974f8e75d5c69cf514b2953fd88f66c79c8b data/petrock/tags/item/raw_materials_stoneium.json diff --git a/src/generated/resources/data/c/tags/block/ores.json b/src/generated/resources/data/c/tags/block/ores.json new file mode 100644 index 0000000..f9125fd --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#petrock:stoneium_ores" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/raw_materials.json b/src/generated/resources/data/c/tags/item/raw_materials.json new file mode 100644 index 0000000..ad7d5d7 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/raw_materials.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#petrock:raw_materials_stoneium" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json b/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json deleted file mode 100644 index 342c001..0000000 --- a/src/generated/resources/data/minecraft/tags/block/deepslate_ore_replaceables.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "petrock:deepslate_stoneium_ore" - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/overworld_carver_replaceables.json b/src/generated/resources/data/minecraft/tags/block/overworld_carver_replaceables.json new file mode 100644 index 0000000..f9125fd --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/overworld_carver_replaceables.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#petrock:stoneium_ores" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json b/src/generated/resources/data/minecraft/tags/block/snaps_goat_horn.json similarity index 100% rename from src/generated/resources/data/minecraft/tags/block/stone_ore_replaceables.json rename to src/generated/resources/data/minecraft/tags/block/snaps_goat_horn.json diff --git a/src/generated/resources/data/patchouli/advancement/recipes/misc/petrock_care_guide.json b/src/generated/resources/data/patchouli/advancement/recipes/misc/petrock_care_guide.json new file mode 100644 index 0000000..316edff --- /dev/null +++ b/src/generated/resources/data/patchouli/advancement/recipes/misc/petrock_care_guide.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stoneium_ingot": { + "conditions": { + "items": [ + { + "items": "petrock:stoneium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "patchouli:petrock_care_guide" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stoneium_ingot" + ] + ], + "rewards": { + "recipes": [ + "patchouli:petrock_care_guide" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/patchouli/recipe/petrock_care_guide.json b/src/generated/resources/data/patchouli/recipe/petrock_care_guide.json new file mode 100644 index 0000000..f720767 --- /dev/null +++ b/src/generated/resources/data/patchouli/recipe/petrock_care_guide.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "petrock:stoneium" + } + ], + "result": { + "components": { + "patchouli:book": "petrock:petrock_care_guide" + }, + "count": 1, + "id": "patchouli:guide_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_raw_stoneium.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_raw_stoneium.json new file mode 100644 index 0000000..22c0d12 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_blasting_raw_stoneium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_stoneium": { + "conditions": { + "items": [ + { + "items": "petrock:raw_stoneium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_blasting_raw_stoneium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_stoneium" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_blasting_raw_stoneium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_raw_stoneium.json b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_raw_stoneium.json new file mode 100644 index 0000000..d099c85 --- /dev/null +++ b/src/generated/resources/data/petrock/advancement/recipes/misc/stoneium_from_smelting_raw_stoneium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_stoneium": { + "conditions": { + "items": [ + { + "items": "petrock:raw_stoneium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "petrock:stoneium_from_smelting_raw_stoneium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_stoneium" + ] + ], + "rewards": { + "recipes": [ + "petrock:stoneium_from_smelting_raw_stoneium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json deleted file mode 100644 index a88de83..0000000 --- a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_deepslate_stoneium_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#minecraft:is_overworld", - "features": "petrock:deepslate_stoneium_ore", - "step": "underground_ores" -} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json b/src/generated/resources/data/petrock/neoforge/biome_modifier/ore_stoneium.json similarity index 73% rename from src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json rename to src/generated/resources/data/petrock/neoforge/biome_modifier/ore_stoneium.json index 00357b4..b1447a0 100644 --- a/src/generated/resources/data/petrock/neoforge/biome_modifier/add_stoneium_ore.json +++ b/src/generated/resources/data/petrock/neoforge/biome_modifier/ore_stoneium.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "#minecraft:is_overworld", - "features": "petrock:stoneium_ore", + "features": "petrock:ore_stoneium", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_raw_stoneium.json b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_raw_stoneium.json new file mode 100644 index 0000000..f1f5da4 --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_blasting_raw_stoneium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "ingredient": { + "item": "petrock:raw_stoneium" + }, + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_raw_stoneium.json b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_raw_stoneium.json new file mode 100644 index 0000000..a0d9324 --- /dev/null +++ b/src/generated/resources/data/petrock/recipe/stoneium_from_smelting_raw_stoneium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "ingredient": { + "item": "petrock:raw_stoneium" + }, + "result": { + "count": 1, + "id": "petrock:stoneium" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/tags/item/raw_materials_stoneium.json b/src/generated/resources/data/petrock/tags/item/raw_materials_stoneium.json new file mode 100644 index 0000000..f1896d9 --- /dev/null +++ b/src/generated/resources/data/petrock/tags/item/raw_materials_stoneium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "petrock:raw_stoneium" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json b/src/generated/resources/data/petrock/worldgen/configured_feature/ore_stoneium.json similarity index 59% rename from src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json rename to src/generated/resources/data/petrock/worldgen/configured_feature/ore_stoneium.json index 5378258..1830228 100644 --- a/src/generated/resources/data/petrock/worldgen/configured_feature/deep_overworld_ores.json +++ b/src/generated/resources/data/petrock/worldgen/configured_feature/ore_stoneium.json @@ -2,8 +2,17 @@ "type": "minecraft:ore", "config": { "discard_chance_on_air_exposure": 0.0, - "size": 6, + "size": 17, "targets": [ + { + "state": { + "Name": "petrock:stoneium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, { "state": { "Name": "petrock:deepslate_stoneium_ore" diff --git a/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json b/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json deleted file mode 100644 index eae0ad7..0000000 --- a/src/generated/resources/data/petrock/worldgen/configured_feature/overworld_ores.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:ore", - "config": { - "discard_chance_on_air_exposure": 0.0, - "size": 6, - "targets": [ - { - "state": { - "Name": "petrock:stoneium_ore" - }, - "target": { - "predicate_type": "minecraft:tag_match", - "tag": "minecraft:stone_ore_replaceables" - } - } - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json b/src/generated/resources/data/petrock/worldgen/placed_feature/ore_stoneium.json similarity index 73% rename from src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json rename to src/generated/resources/data/petrock/worldgen/placed_feature/ore_stoneium.json index 916e26f..addd206 100644 --- a/src/generated/resources/data/petrock/worldgen/placed_feature/deepslate_stoneium_ore.json +++ b/src/generated/resources/data/petrock/worldgen/placed_feature/ore_stoneium.json @@ -1,9 +1,9 @@ { - "feature": "petrock:deep_overworld_ores", + "feature": "petrock:ore_stoneium", "placement": [ { "type": "minecraft:count", - "count": 5 + "count": 12 }, { "type": "minecraft:in_square" @@ -11,9 +11,9 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:trapezoid", "max_inclusive": { - "absolute": 0 + "below_top": 0 }, "min_inclusive": { "above_bottom": 0 diff --git a/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json b/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json deleted file mode 100644 index 350b271..0000000 --- a/src/generated/resources/data/petrock/worldgen/placed_feature/stoneium_ore.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "feature": "petrock:overworld_ores", - "placement": [ - { - "type": "minecraft:count", - "count": 5 - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:height_range", - "height": { - "type": "minecraft:uniform", - "max_inclusive": { - "below_top": 0 - }, - "min_inclusive": { - "absolute": 0 - } - } - }, - { - "type": "minecraft:biome" - } - ] -} \ No newline at end of file diff --git a/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRBlockTagsProvider.java similarity index 69% rename from src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java rename to src/main/java/net/manmaed/petrock/datagen/PRBlockTagsProvider.java index 60236c9..1f2df14 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRTagsProvider.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRBlockTagsProvider.java @@ -6,25 +6,27 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.tags.BlockTags; +import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.common.data.BlockTagsProvider; import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; -public class PRTagsProvider extends BlockTagsProvider { +public class PRBlockTagsProvider extends BlockTagsProvider { - public PRTagsProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { + public PRBlockTagsProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { super(output, lookupProvider, PetRock.MOD_ID, existingFileHelper); } @Override protected void addTags(HolderLookup.Provider provider) { - tag(BlockTags.STONE_ORE_REPLACEABLES).add(PRBlocks.STONEIUM_ORE.get()); - tag(BlockTags.DEEPSLATE_ORE_REPLACEABLES).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + tag(BlockTags.OVERWORLD_CARVER_REPLACEABLES).addTag(PRTags.STONEIUM_ORES); + tag(BlockTags.SNAPS_GOAT_HORN).add(PRBlocks.STONEIUM_ORE.get()); tag(PRTags.STONEIUM_ORES).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); tag(BlockTags.NEEDS_STONE_TOOL).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.STONEIUM_BLOCK.get()); tag(BlockTags.NEEDS_IRON_TOOL).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); tag(BlockTags.MINEABLE_WITH_PICKAXE).add(PRBlocks.STONEIUM_ORE.get()).add(PRBlocks.DEEPSLATE_STONEIUM_ORE.get()); + tag(Tags.Blocks.ORES).addTag(PRTags.STONEIUM_ORES); } } diff --git a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java index ac83063..ad72732 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRDataGeneration.java @@ -20,9 +20,11 @@ public static void gatherData(GatherDataEvent event) { PackOutput packOutput = generator.getPackOutput(); ExistingFileHelper fileHelper = event.getExistingFileHelper(); CompletableFuture lookupProvider = event.getLookupProvider(); + PRBlockTagsProvider prBlockTagsProvider = new PRBlockTagsProvider(packOutput, lookupProvider, fileHelper); generator.addProvider(true, new PRRecipeProvider(packOutput, lookupProvider)); - generator.addProvider(true, new PRTagsProvider(packOutput, lookupProvider, fileHelper)); + generator.addProvider(true, prBlockTagsProvider); + generator.addProvider(true, new PRItemTagsProvider(packOutput, lookupProvider, prBlockTagsProvider.contentsGetter(), fileHelper)); generator.addProvider(true, new PRLootTabels(packOutput, lookupProvider)); generator.addProvider(true, new PRWorldGenProvider(packOutput, lookupProvider)); diff --git a/src/main/java/net/manmaed/petrock/datagen/PRItemTagsProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRItemTagsProvider.java new file mode 100644 index 0000000..140ca1c --- /dev/null +++ b/src/main/java/net/manmaed/petrock/datagen/PRItemTagsProvider.java @@ -0,0 +1,27 @@ +package net.manmaed.petrock.datagen; + +import net.manmaed.petrock.PetRock; +import net.manmaed.petrock.item.PRItems; +import net.manmaed.petrock.tag.PRTags; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.data.tags.TagsProvider; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class PRItemTagsProvider extends ItemTagsProvider { + public PRItemTagsProvider(PackOutput packOutput, CompletableFuture completableFuture, CompletableFuture> blockTagsProvider, @Nullable ExistingFileHelper existingFileHelper) { + super(packOutput, completableFuture, blockTagsProvider, PetRock.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider context) { + tag(Tags.Items.RAW_MATERIALS).addTag(PRTags.RAW_MATERIALS_STONEIUM); + tag(PRTags.RAW_MATERIALS_STONEIUM).add(PRItems.RAW_STONEIUM.get()); + } +} diff --git a/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java b/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java index 9bc89b9..747b956 100644 --- a/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java +++ b/src/main/java/net/manmaed/petrock/datagen/PRRecipeProvider.java @@ -6,30 +6,26 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.*; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import vazkii.patchouli.api.PatchouliAPI; import java.util.concurrent.CompletableFuture; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PRRecipeProvider extends RecipeProvider { - private static RecipeCategory misc = RecipeCategory.MISC; - private static RecipeCategory block = RecipeCategory.BUILDING_BLOCKS; - private static RecipeCategory food = RecipeCategory.FOOD; + private static final RecipeCategory misc = RecipeCategory.MISC; + private static final RecipeCategory block = RecipeCategory.BUILDING_BLOCKS; + private static final RecipeCategory food = RecipeCategory.FOOD; public PRRecipeProvider(PackOutput packOutput, CompletableFuture completableFuture) { super(packOutput, completableFuture); } - public static ResourceLocation getSave(String string) { - return RLHelper.location(string); - } - @Override protected void buildRecipes(RecipeOutput recipeOutput) { @@ -70,8 +66,15 @@ protected void buildRecipes(RecipeOutput recipeOutput) { oreToIngot(PRBlocks.STONEIUM_ORE.get(), PRItems.STONEIUM.get(), recipeOutput); oreToIngot(PRBlocks.DEEPSLATE_STONEIUM_ORE.get(), PRItems.STONEIUM.get(), recipeOutput); + ingotToIngot(PRItems.RAW_STONEIUM.get(), PRItems.STONEIUM.get(), recipeOutput); + ShapelessRecipeBuilder.shapeless(misc, PatchouliAPI.get().getBookStack(RLHelper.location("petrock_care_guide"))) + .requires(Items.BOOK).requires(PRItems.STONEIUM).unlockedBy("has_stoneium_ingot", has(PRItems.STONEIUM)).save(recipeOutput, "patchouli:petrock_care_guide"); } + private static void ingotToIngot(Item rawore, Item ingot, RecipeOutput recipeOutput) { + SimpleCookingRecipeBuilder.blasting(Ingredient.of(rawore), misc, ingot, 0.7F, 100).unlockedBy(getHasName(rawore), has(rawore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_blasting_" + retunName(rawore))); + SimpleCookingRecipeBuilder.smelting(Ingredient.of(rawore), misc, ingot, 0.7F, 200).unlockedBy(getHasName(rawore), has(rawore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_smelting_" + retunName(rawore))); + } private static void oreToIngot(Block ore, Item ingot, RecipeOutput recipeOutput) { SimpleCookingRecipeBuilder.blasting(Ingredient.of(ore), misc, ingot, 0.7F, 100).unlockedBy(getHasName(ore), has(ore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_blasting_" + retunName(ore.asItem()))); SimpleCookingRecipeBuilder.smelting(Ingredient.of(ore), misc, ingot, 0.7F, 200).unlockedBy(getHasName(ore), has(ore)).save(recipeOutput, RLHelper.location(retunName(ingot) + "_from_smelting_" + retunName(ore.asItem()))); diff --git a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java index f193291..a725c9f 100644 --- a/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java +++ b/src/main/java/net/manmaed/petrock/entity/EntityPetRock.java @@ -23,9 +23,7 @@ import net.minecraft.world.entity.ai.goal.target.OwnerHurtByTargetGoal; import net.minecraft.world.entity.ai.goal.target.OwnerHurtTargetGoal; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.DyeItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.*; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; @@ -258,6 +256,9 @@ public String getVariantName(){ case 8: name = "bedrock"; break; + case 9: + name = "squidgy"; + break; default: name = "stone"; break; @@ -312,6 +313,9 @@ private void rightClickSetRockVariant(ItemStack itemStack, Player player) { case "missingno": setVariant(-1); break; + case "squidgy": + setVariant(9); + break; } } @@ -322,5 +326,11 @@ public void tick() { if (getVariant() == null) { setVariant(0); } + if (hasCustomName()) { + String customName = this.getCustomName().getString(); + if (customName.equals("Squidgy") && getVariant() != 9) { + setVariant(9); + } + } } } diff --git a/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java b/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java index ee8ff59..fe6bb5c 100644 --- a/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java +++ b/src/main/java/net/manmaed/petrock/entity/EntityPetRockWithLegs.java @@ -256,6 +256,9 @@ public String getVariantName(){ case 8: name = "bedrock"; break; + case 9: + name = "squidgy"; + break; default: name = "stone"; break; @@ -310,6 +313,9 @@ private void rightClickSetRockVariant(ItemStack itemStack, Player player) { case "missingno": setVariant(-1); break; + case "squidgy": + setVariant(9); + break; } } @@ -320,5 +326,11 @@ public void tick() { if (getVariant() == null) { setVariant(0); } + if (hasCustomName()) { + String customName = this.getCustomName().getString(); + if (customName.equals("Squidgy") && getVariant() != 9) { + setVariant(9); + } + } } } diff --git a/src/main/java/net/manmaed/petrock/tag/PRTags.java b/src/main/java/net/manmaed/petrock/tag/PRTags.java index 148d1df..95ae5f2 100644 --- a/src/main/java/net/manmaed/petrock/tag/PRTags.java +++ b/src/main/java/net/manmaed/petrock/tag/PRTags.java @@ -3,13 +3,19 @@ import net.manmaed.petrock.libs.RLHelper; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; public class PRTags { - public static final TagKey STONEIUM_ORES = create("stoneium_ores"); + public static final TagKey STONEIUM_ORES = createBlockTag("stoneium_ores"); + public static final TagKey RAW_MATERIALS_STONEIUM = createItemTag("raw_materials_stoneium"); - private static TagKey create(String name) { + private static TagKey createBlockTag(String name) { return TagKey.create(BuiltInRegistries.BLOCK.key(), RLHelper.location(name)); } + + private static TagKey createItemTag(String name) { + return TagKey.create(BuiltInRegistries.ITEM.key(), RLHelper.location(name)); + } } diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java index b5897cc..507d99f 100644 --- a/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRBiomesModifers.java @@ -19,25 +19,28 @@ public class PRBiomesModifers { private static ResourceKey ADD_STONEIUM_ORE = createKey("add_stoneium_ore"); private static ResourceKey ADD_DEEPSLATE_STONEIUM_ORE = createKey("add_deepslate_stoneium_ore"); + private static ResourceKey ORE_STONEIUM = createKey("ore_stoneium"); + + public static void bootstrap(BootstrapContext context) { HolderGetter placedFeaturs = context.lookup(Registries.PLACED_FEATURE); HolderGetter biomes = context.lookup(Registries.BIOME); context.register( - ADD_STONEIUM_ORE, + ORE_STONEIUM, new BiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_OVERWORLD), - HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.STONEIUM_ORE)), + HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.ORE_STONEIUM)), GenerationStep.Decoration.UNDERGROUND_ORES )); - context.register( + /*context.register( ADD_DEEPSLATE_STONEIUM_ORE, new BiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_OVERWORLD), - HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.DEEPSLATE_STONEIUM_ORE)), + HolderSet.direct(placedFeaturs.getOrThrow(PRPlacedFeatures.ORE_STONEIUM)), GenerationStep.Decoration.UNDERGROUND_ORES - )); + ));*/ } diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java index 1724639..6edb2c2 100644 --- a/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRConfiguredFeatures.java @@ -4,11 +4,11 @@ import net.manmaed.petrock.libs.RLHelper; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.data.worldgen.features.FeatureUtils; import net.minecraft.resources.ResourceKey; import net.minecraft.tags.BlockTags; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; @@ -16,26 +16,27 @@ import java.util.List; public class PRConfiguredFeatures { +/* protected static ResourceKey> OVERWORLD_ORES = createKey("overworld_ores"); protected static ResourceKey> DEEP_OVERWORLD_ORES = createKey("deep_overworld_ores"); +*/ + + protected static ResourceKey> ORE_STONEIUM = createKey("ore_stoneium"); public static void bootstrap(BootstrapContext> context) { RuleTest stoneReplaceable = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); RuleTest deepslateReplaceable = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); - List stoneiumOre = List.of(OreConfiguration.target(stoneReplaceable, PRBlocks.STONEIUM_ORE.get().defaultBlockState())); - List deepslateStoneiumOre = List.of(OreConfiguration.target(deepslateReplaceable, PRBlocks.DEEPSLATE_STONEIUM_ORE.get().defaultBlockState())); + List list_of_stoneium = List.of( + OreConfiguration.target(stoneReplaceable, PRBlocks.STONEIUM_ORE.get().defaultBlockState()), + OreConfiguration.target(deepslateReplaceable, PRBlocks.DEEPSLATE_STONEIUM_ORE.get().defaultBlockState()) + ); - register(context, OVERWORLD_ORES, Feature.ORE, new OreConfiguration(stoneiumOre, 6)); - register(context, DEEP_OVERWORLD_ORES, Feature.ORE, new OreConfiguration(deepslateStoneiumOre, 6)); + FeatureUtils.register(context, ORE_STONEIUM, Feature.ORE, new OreConfiguration(list_of_stoneium, 17)); } private static ResourceKey> createKey(String name){ return ResourceKey.create(Registries.CONFIGURED_FEATURE, RLHelper.location(name)); } - - private static > void register(BootstrapContext> context, ResourceKey> key, F feature, FC config) { - context.register(key, new ConfiguredFeature<>(feature, config)); - } } diff --git a/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java b/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java index bba158a..1113644 100644 --- a/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java +++ b/src/main/java/net/manmaed/petrock/worldgen/ores/PRPlacedFeatures.java @@ -5,6 +5,7 @@ import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; @@ -15,16 +16,15 @@ import java.util.List; public class PRPlacedFeatures { - protected static ResourceKey STONEIUM_ORE = createKey("stoneium_ore"); - protected static ResourceKey DEEPSLATE_STONEIUM_ORE = createKey("deepslate_stoneium_ore"); + protected static ResourceKey ORE_STONEIUM = createKey("ore_stoneium"); + protected static ResourceKey ORE_STONEIUM_LOWER = createKey("ore_stoneium_lower"); public static void bootstrap(BootstrapContext context) { HolderGetter> configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE); - Holder> featureHolder = configuredFeatures.getOrThrow(PRConfiguredFeatures.OVERWORLD_ORES); - Holder> featureHolder2 = configuredFeatures.getOrThrow(PRConfiguredFeatures.DEEP_OVERWORLD_ORES); + Holder> featureHolder = configuredFeatures.getOrThrow(PRConfiguredFeatures.ORE_STONEIUM); +/* Holder> featureHolder2 = configuredFeatures.getOrThrow(PRConfiguredFeatures.DEEP_OVERWORLD_ORES);*/ - register(context, STONEIUM_ORE, featureHolder, PROrePlacement.commonOrePlacements(5, HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.TOP))); - register(context, DEEPSLATE_STONEIUM_ORE, featureHolder2, PROrePlacement.commonOrePlacements(5, HeightRangePlacement.uniform(VerticalAnchor.BOTTOM, VerticalAnchor.absolute(0)))); + PlacementUtils.register(context, ORE_STONEIUM, featureHolder, PROrePlacement.commonOrePlacements(12, HeightRangePlacement.triangle(VerticalAnchor.BOTTOM, VerticalAnchor.TOP))); } private static void register(BootstrapContext context, ResourceKey resourceKey, Holder> configuredFeatureHolder, List placementModifiers) { context.register(resourceKey, new PlacedFeature(configuredFeatureHolder, placementModifiers)); diff --git a/src/main/resources/assets/petrock/lang/en_us.json b/src/main/resources/assets/petrock/lang/en_us.json index 334d15b..7804ca1 100644 --- a/src/main/resources/assets/petrock/lang/en_us.json +++ b/src/main/resources/assets/petrock/lang/en_us.json @@ -14,6 +14,7 @@ "item.petrock.petrockwithlegsbox": "PetRock With Legs", "item.petrock.stone_legs": "Stone Legs", "item.petrock.stone_legs.tooltip": "Used only for crafting", + "item.petrock.raw_stoneium": "Raw Stoneium", "petrock.comment.2" : "Block Stuff", "block.petrock.stoneium_ore" : "Stoneium Ore", diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json index 809fa1e..aa01ed9 100644 --- a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/care/tame.json @@ -8,6 +8,21 @@ "title": "Stoneium", "text": "Stoneium Spawns in the Overworld. Use The Stoneium Ingots to tame a Petrock" }, + { + "type": "spotlight", + "item": { + "item": "petrock:raw_stoneium" + }, + "text": "Raw Stoneium drops from Stoneium Ore" + }, + { + "type": "smelting", + "recipe": "petrock:stoneium_from_smelting_raw_stoneium" + }, + { + "type": "blasting", + "recipe": "petrock:stoneium_from_blasting_raw_stoneium" + }, { "type": "smelting", "recipe": "petrock:stoneium_from_smelting_stoneium_ore", @@ -16,7 +31,8 @@ { "type": "blasting", "recipe": "petrock:stoneium_from_blasting_stoneium_ore", - "recipe2": "petrock:stoneium_from_blasting_deepslate_stoneium_ore" + "recipe2": "petrock:stoneium_from_blasting_deepslate_stoneium_ore", + "recipe3": "petrock:stoneium_from_blasting_raw_stoneium" } ] } \ No newline at end of file diff --git a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json index 4071de7..95e3b61 100644 --- a/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json +++ b/src/main/resources/assets/petrock/patchouli_books/petrock_care_guide/en_us/entries/variant/variant.json @@ -56,6 +56,11 @@ "text": "This is the Clay Variant" }, + { + "type": "entity", + "entity": "petrock:petrock{rock_variant:9}", + "text": "This is the Squidgy Variant (get by naming a PetRock \"Squidgy\")" + }, { "type": "entity", "entity": "petrock:petrock{rock_variant:8}", @@ -121,6 +126,11 @@ "text": "This is the Clay Variant" }, + { + "type": "entity", + "entity": "petrock:petrockwithlegs{rock_variant:9}", + "text": "This is the Squidgy Variant (get by naming a PetRock \"Squidgy\")" + }, { "type": "entity", "entity": "petrock:petrockwithlegs{rock_variant:8}", diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/squidgy/sit.png b/src/main/resources/assets/petrock/textures/entity/petrock/squidgy/sit.png new file mode 100644 index 0000000000000000000000000000000000000000..d75331e9e6a25d9bb6414e94a978567e654097df GIT binary patch literal 2739 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/squidgy/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/squidgy/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd3ea69a50a656df365dbd89dd15f223204b844 GIT binary patch literal 2938 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 Tp}tl9FM#oM<*<(~4O{ykHH^%i literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/tame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/tame.png new file mode 100644 index 0000000000000000000000000000000000000000..70853adcd2db8ab209ca478e29308b29f2c8009d GIT binary patch literal 3118 zcmb_e2~-o;8V-sGQd&e2M5sfsr%y_@AtYofxDeK|$zp-xfyrb75t0c>AR$zO2#AU( zPtZ^k6|D;>;&Ca0BHrT-~ImYU+#ai zIndwJWRBGw0)b%S?ZpnlpDXYSFf_pL2Q;Y}_`^u#6)qtVjOXbtJ;HZtO9H_lhaVCq z4fFGb5KKUZxfll}%LO7FO&}~=E*HT_94ZAkXbfNILVR|rs9N0j3S3c6dIYT^JxOeMW%70L~;CtaV|nZ<52-B zluB?cZ5k_z#iW=d7W)J0>Cf*Nz+>y@H*Mp+S_Fb=6B4O=67I%SK;Da%gd~elN)Rf+ z62%DWo`lP^(|IF;+{7p>#l#^P7XLO=fo~-Ppc9z}0{{4$FXUn}$;zh%SrSM;Zxd_C= z!~z)im@j~1P>M(xLj4&Vt8<)C;pYc=3nfxmh@jqV7b5O7na}4!APZ%| zEIOS8Gaa2tFi6L5h_3u#M-H6>(&#+;^m;aiBm&9OEX)uF^aGaTwQNZm7i23;5g5y7!N4Mj2H350?C3v=yr?x~enlLqr=K~XE z0Ktf^yj_ThF0Uw;I5o|GPXzv+2a~k2SQIDylXOqQBp6RBgT?5|7(7~kT~CxhQZIp% z{#-jkbwao-CPUXrxFi;nP9w1pCP)H7kj`K^qjYDyQBC>&zuM^#jRw)dxApfy+Na2o zSXdZ?;_Z?`{BUpnUM;>a6Ytqg|3_~qx-L0cWR(A|zlm?Z>!^4tC#LW=ts71s5ctdV z5rYcxK#B1KqmIxfl^zVO^xSL>e2h7T;cr79fVdvG!R=fh9-o`7DgKXNhnW<O9vcY<$Bas z*%H-?9=CHA>4qxXCqrHSC(PN&Ef&?El?_|W&N_Kzf22L_?xI}&wdBrEC}x$}fL3+7 zO~2}wAG$Hcsg@awJ_8KwcKalHx|?Q1+VkdUcYqPb>n`7GAJ41$KFHkv=j1OnpH^O* z&G1dzV!Dxb%ZohgPD1BW3*Q1)j|&?Ly9Ua<)3Q4UPHwpU@r=qV0A^xdw8oR|RT0=$ zIBHX;>B{XJONq1Vm937`v*KY6MH~O+@zJC7JfB$`j%JlEqz)t@&4T$4137jET9tlU zQT~v-`I-t5m*(dFvVS~`;2x&*V4Qm$x^MiB*5jLUYjD{005Qx^KRBrP_T%GOzJlD$ zw36qY=Y{nxL4+0icllUl#Z~0Kv0NmPvAAp?YsHDgs_q>=McX$-%z0Mz!g9cT^&YeR zCGyfuyY!ylaCs)Y_`o5!v$4Dh)(qW^*?vlu=&;GxA}8{T0A+WR)RUJX%-^UQ+`N-n zRH7f+IDc+uN;|9mq|0DtS=G)^`{4fQ%OHCF+u=Ip*5SUUwi(*fP5(}cYHHZwqmhC(A!yij#>uMF zoPx{9a8&n4_x-z{=AU}wkXP-h{63L6LI{hYW7%`~DOyD>gvin8m%CWCb>?kr>IcT4 z`8Rv@P3ZOsKPB`%yPpwm5KgU5xPC|(KhxC0=2vkgM_t~Q07oqZ7QgP$2)q`ip;uM* zSQWfAc>9C;?)EoE$83j3uFS4@F?@tD)({+JTV~uU2v8ez1RUAdF%*+}{rL88M}t2Z zJhXT`U6VifvSjJH(zzRds@L|09teqPA)jMf9c&rvD@(1eHZwfjf801fyQ6g5Vwu14 zdFnc!GZA|7_S)q=jj!h=2-XcGKk{6re0lJwwy;SJn9Ll=EoZdy)}Q@6tWgo-VXXPe zrm7a2>2_6RS;KHGD6{Ixd;RP?OHpzG)qJm_U#~GoZMML!#K&sQ?TG9JpMUe@)RU3@ z`$&UO^G>*;=U7aXmOqlPEH+8gQ>QT>cD-4@qB!na!(H^@xH`AIeIpFfoVpNBM;ep_kMd6W=I>kW#LqJU*2a+d{lWd`AhY-#yi@O%29HqqNd8< zSVk#Z)KP6yv*%W3s)lgrwr_EvrJ}X9E-@ihd+S2djb?S^ygQ!f7deOwsftxO6EW7!4?Arv5niM&Eiw|6{8+`i#8Y^ai7{NZmhrZ+Cz8iB-|* F{{bw8(C7dF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/untame.png b/src/main/resources/assets/petrock/textures/entity/petrock/with_legs/squidgy/untame.png new file mode 100644 index 0000000000000000000000000000000000000000..55ecb66a0de4f787ff477973e15bdf1c96ef4b88 GIT binary patch literal 3121 zcmb_e2~-nV77d8BEV7J>h=N5}6eOvtY><*5OHe?g64NbiNKq*u5>hbOr6=`S}Mi#pfvBy?ymccX2WA9BZdRDli05Me?X#+JHci zU@723C~$yFhiMoDF#uOC9p#`LCYR#^FdzmCgqR@Aph2z(%MD>Lfsr4T45tu>AwvHA zkznK#j~by;$q^7#tJQQhlTIkYL72yHAEwG{})VtkTIRMc1qrOG#kOk<=VpF}G~adI3K;z}Y~ zf#JR}BuzVQHgd#AfukxyAtDIrXs4ErQU(}oI?MoOFPF%~gj(tJD+`>Ds&F1v+cp{u z(IAcpW+Ds-fn4W6FakltPyr#9gvEUfg<%oQMqpQj4SxhBMI%O4=pTZ`7!pP(qEIqp zNfa86gK}9o6&R}{;zLLY1sRxR#~flI5Fq|Cr3#f{xIdpqC6lI0Bw_^PlFDPVIW$fv z#H2wG%as<2p%9IMyRz75SQv(L;Zb`&fkkUuJ8CZ`?O9A*jIzWqEesDuX>J@AMnfSc zmxkgf&I}c^xUg6}YQIDwA=efv{cJzl6{pn%;wMp(-HIDo63g)QBO|E<7?J^kVp@6g zsF=2|ILTmmTJnhs{J9KGXHnJq%M4VJbDMz`erBYW=aEz~5r8L}PxRJHrig zgIH{g2ElAGjUC2+8W*Od8TlTaEM$Po0vjU=B^hA5I+7xyk{yLP6 z*+xDcYi}g>)!)sndhB7V3+oA;Zlzt_#f&n}DTr%&HA@a|Z<#^)vUVZ&jPb52S;F#H zU8fdpQFg=`MrI^+3S_>Yuzktp zr=pV%k2Z&=x%a<4-Lm?&Zb)X}MXIxLEANig9n1c7Ub?GG*V^uga;w)*78Xv6(LZ(| zFs*c}QIm9%g@L%Xx7%Ur{&s!fq}4xf$OGpQm0jPA!&5f&jdN{I@}vBHTk3H|m#jO!xG~hgJ>&7br#5f7_Uv1 z>Akl_L-krKoYyk0wO{C9Fhh!`LsM)jADLXwU>OHx9CP;RFb~~a%(`&?FBw9^BjT1? zLlE=mYL2`VKVVQ0FumUUY_tERbFHVPc2UL;7?R*RC+3t##g_-JRtMZ8I+9Om9ICU8 zxD!*|98VT7kF1*1VsZU#J+tZZKdRI2FUM?!0k$izT>rUhrufFT15Qg~KO}~me5L!fCHtvvUPSWK=aI8_+wV^t@NJ3l>QDnyiwP_Jbtg9T z|9B#IysD_reYLgs*~zchZqLa!5NzHd3~+p9U8G;~vOWL88nx~ciH-DM@x6`rkG4Hu z`ONkQ`d(Ig?FPG3m*hGr0(!8?IE83x%+g(R3ErBEh-Um*D6@z)*X3lxMiad024`X4Cxty_tW?XEcj@_^(ciu_Ggk#jgR>q2N++mT)BiPn z|9bF6UHgktZ@Gjmz6>y0Ucl_nyyBmw%D2m;U0> zoE3uHTx?Uyz5q))!91QJhTGmYy!?T?pV3ck$(4SdEoJisX~px!Mt%w2kPV| z)m4+D*mp)2(;T@jEwr`{ot2Vv2z LF6N)~4%zez@_ev- literal 0 HcmV?d00001 diff --git a/src/main/resources/data/petrock/advancements/petrock/kibble.json b/src/main/resources/data/petrock/advancement/petrock/kibble.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/kibble.json rename to src/main/resources/data/petrock/advancement/petrock/kibble.json diff --git a/src/main/resources/data/petrock/advancements/petrock/order_form.json b/src/main/resources/data/petrock/advancement/petrock/order_form.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/order_form.json rename to src/main/resources/data/petrock/advancement/petrock/order_form.json diff --git a/src/main/resources/data/petrock/advancements/petrock/petrockbox.json b/src/main/resources/data/petrock/advancement/petrock/petrockbox.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/petrockbox.json rename to src/main/resources/data/petrock/advancement/petrock/petrockbox.json diff --git a/src/main/resources/data/petrock/advancements/petrock/petrockwithlegsbox.json b/src/main/resources/data/petrock/advancement/petrock/petrockwithlegsbox.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/petrockwithlegsbox.json rename to src/main/resources/data/petrock/advancement/petrock/petrockwithlegsbox.json diff --git a/src/main/resources/data/petrock/advancements/petrock/root.json b/src/main/resources/data/petrock/advancement/petrock/root.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/root.json rename to src/main/resources/data/petrock/advancement/petrock/root.json diff --git a/src/main/resources/data/petrock/advancements/petrock/stoneium.json b/src/main/resources/data/petrock/advancement/petrock/stoneium.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/stoneium.json rename to src/main/resources/data/petrock/advancement/petrock/stoneium.json diff --git a/src/main/resources/data/petrock/advancements/petrock/warranty_void.json b/src/main/resources/data/petrock/advancement/petrock/warranty_void.json similarity index 100% rename from src/main/resources/data/petrock/advancements/petrock/warranty_void.json rename to src/main/resources/data/petrock/advancement/petrock/warranty_void.json diff --git a/src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled b/src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled deleted file mode 100644 index 9e26dfe..0000000 --- a/src/main/resources/data/petrock/recipe/petrock_care_guide.json.disabled +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file From 13bb3b5c59d866e5da6392d26907f06078ef6e90 Mon Sep 17 00:00:00 2001 From: manmaed Date: Fri, 11 Oct 2024 19:15:28 +0100 Subject: [PATCH 12/12] work flows --- .github/workflows/1.20.1.yml | 31 ------------------------ .github/workflows/neo.1.21.build.yml | 36 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 31 deletions(-) delete mode 100644 .github/workflows/1.20.1.yml create mode 100644 .github/workflows/neo.1.21.build.yml diff --git a/.github/workflows/1.20.1.yml b/.github/workflows/1.20.1.yml deleted file mode 100644 index b3b00b0..0000000 --- a/.github/workflows/1.20.1.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Build & Release For Minecraft 1.20.1 - -on: - push: - tags: - - 'v*' - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - - uses: actions/checkout@v2 - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - distribution: 'adopt' - java-version: '17' - - name: Build & release to curseforge - env: - CURSE_DEPLOY: ${{ secrets.CURSE_DEPLOY }} - run: | - chmod +x ./gradlew - ./gradlew build curseforge --stacktrace --no-daemon \ No newline at end of file diff --git a/.github/workflows/neo.1.21.build.yml b/.github/workflows/neo.1.21.build.yml new file mode 100644 index 0000000..6066d85 --- /dev/null +++ b/.github/workflows/neo.1.21.build.yml @@ -0,0 +1,36 @@ +name: Build & Release For Minecraft 1.21 - Neo + +on: + push: + tags: + - 'v*-neo' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup JDK 21 + uses: actions/setup-java@v2 + with: + java-version: '21' + distribution: 'temurin' + - uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Cleanup Gradle Cache + run: | + rm -f ~/.gradle/caches/modules-2/modules-2.lock + rm -f ~/.gradle/caches/modules-2/gc.properties + - name: Build & release to curseforge & modrinth + env: + CURSE_DEPLOY: ${{ secrets.CURSE_DEPLOY }} + MODRINTH_DEPLOY: ${{ secrets.MODRINTH_DEPLOY }} + run: | + chmod +x ./gradlew + ./gradlew build publishMods --stacktrace --no-daemon \ No newline at end of file