From 0c950ac7b5c6c12e61869c685161d6ed819f434d Mon Sep 17 00:00:00 2001 From: x-j0nnay-x Date: Tue, 5 Nov 2024 12:13:54 -0800 Subject: [PATCH] 1.21-V1.131-B-004 Update Crashes on NeoForge, but other then that its up and running. more work is needed. --- .../simpeladd/blocks/SimpelFarmLand.java | 91 ++++++++++ .../compat/jei/JEI_PluginSimpeladd_ABST.java | 44 ----- .../x_j0nnay_x/simpeladd/core/ModBlocks.java | 6 +- .../x_j0nnay_x/simpeladd/core/ModItems.java | 1 + .../x_j0nnay_x/simpeladd/core/ModTags.java | 1 + .../simpeladd/item/GrinderHeadItem.java | 11 +- .../x_j0nnay_x/simpeladd/item/GrowStaff.java | 82 +++++++++ .../simpeladd/mixin/CropBlockMixin.java | 50 ++++++ .../simpeladd/mixin/NetherWartMixin.java | 28 +++ .../simpeladd/recipe/ManualGrind.java | 2 +- .../blockstates/simpel_farmland.json | 28 +++ .../assets/simpeladdmod/lang/en_us.json | 31 ++-- .../models/block/simpel_farmland.json | 7 + .../models/block/simpel_farmland_moist.json | 7 + .../models/item/brokengrowstaff.json | 6 + .../simpeladdmod/models/item/growstaff.json | 11 ++ .../models/item/simpel_farmland.json | 3 + .../models/item/speedupgrade_2.json | 2 +- .../models/item/speedupgrade_3.json | 2 +- .../textures/block/simpel_farmland.png | Bin 0 -> 764 bytes .../textures/block/simpel_farmland_moist.png | Bin 0 -> 699 bytes .../textures/block/simpel_farmland_side.png | Bin 0 -> 693 bytes .../simpeladdmod/textures/item/growstaff.png | Bin 0 -> 3059 bytes .../textures/item/growstaff_broken.png | Bin 0 -> 3045 bytes .../textures/item/speedupgrade_2.png | Bin 0 -> 3027 bytes .../textures/item/speedupgrade_3.png | Bin 0 -> 3027 bytes .../resources/data/c/tags/blocks/ores.json | 8 + .../tags/blocks/ores/deepslate_debri_ore.json | 6 + .../c/tags/blocks/ores/unobtanium_ore.json | 6 + .../resources/data/c/tags/items/dusts.json | 13 ++ .../data/c/tags/items/dusts/copperdust.json | 6 + .../data/c/tags/items/dusts/golddust.json | 6 + .../data/c/tags/items/dusts/irondust.json | 6 + .../items/dusts/netherite_shard_dust.json | 6 + .../c/tags/items/dusts/netheritedust.json | 6 + .../data/c/tags/items/dusts/obsidiandust.json | 6 + .../c/tags/items/dusts/unobtaniumdust.json | 6 + .../resources/data/c/tags/items/foods.json | 14 ++ .../data/c/tags/items/foods/flesh.json | 6 + .../c/tags/items/foods/sandwich_beef.json | 6 + .../c/tags/items/foods/sandwich_checkin.json | 6 + .../tags/items/foods/sandwich_meet_love.json | 6 + .../items/foods/sandwich_meet_love_veg.json | 6 + .../data/c/tags/items/foods/sandwich_mut.json | 6 + .../c/tags/items/foods/sandwich_pork.json | 6 + .../data/c/tags/items/foods/sandwich_veg.json | 6 + .../resources/data/c/tags/items/ingots.json | 8 + .../tags/items/ingots/netherite_shard.json | 0 .../tags/items/ingots/obsidianingot.json | 0 .../tags/items/ingots/unobtanium_scrap.json | 0 .../resources/data/forge/tags/items/dust.json | 11 -- .../forge/tags/items/dust/copperdust.json | 3 - .../data/forge/tags/items/dust/golddust.json | 3 - .../data/forge/tags/items/dust/irondust.json | 3 - .../tags/items/dust/netherite_shard_dust.json | 3 - .../forge/tags/items/dust/netheritedust.json | 3 - .../forge/tags/items/dust/obsidiandust.json | 3 - .../forge/tags/items/dust/unobtaniumdust.json | 3 - .../data/forge/tags/items/ingots.json | 6 - .../data/forge/tags/items/nuggets.json | 5 - .../tags/items/nuggets/netherite_shard.json | 3 - .../minecraft/tags/block/mineable/shovel.json | 6 + .../data/minecraft/tags/item/axes.json | 9 + .../data/minecraft/tags/item/hoes.json | 9 + .../data/minecraft/tags/item/pickaxes.json | 9 + .../data/minecraft/tags/item/shovels.json | 9 + .../data/minecraft/tags/item/swords.json | 9 + .../simpeladdmod/forge/tags/chilling.json | 12 -- .../simpeladdmod/forge/tags/grindable.json | 21 --- .../forge/tags/raw_gold_droper.json | 10 -- ...em.json => crafting_tool_feeding_gem.json} | 0 ....json => crafting_tool_fireproof_gem.json} | 0 ...ad.json => crafting_tool_grinderhead.json} | 0 .../recipe/crafting_tool_growstaff.json | 24 +++ ...gem.json => crafting_tool_repair_gem.json} | 0 ...son => manual_grinding_clay_ball_get.json} | 8 +- .../recipe/manual_grinding_clay_get.json | 23 +++ .../tags/block/plantablecrops.json | 27 +++ .../main/resources/simpeladdmod.mixins.json | 33 ++-- .../jei/JEI_GrindingCatagory_Fabric.java | 87 +++++++++ .../jei/JEI_PluginSimpeladd_Fabric.java | 48 ++++- .../simpeladd/core/ModBlockRegFabric.java | 2 + .../simpeladd/core/ModCreativeTabFabric.java | 2 + .../simpeladd/core/ModItemRegFabric.java | 3 +- .../jei/JEI_GrindingCatagory_Forge.java | 4 +- .../compat/jei/JEI_PluginSimpeladd_Forge.java | 49 ++++- .../simpeladd/core/ModBlockRegForge.java | 2 + .../simpeladd/core/ModCreativeTabForge.java | 170 +++++++++--------- .../simpeladd/core/ModItemRegForge.java | 1 + .../resources/simpeladdmod.forge.mixins.json | 2 +- .../jei/JEI_GrindingCatagory_NeoForge.java | 87 +++++++++ .../jei/JEI_PluginSimpeladd_NeoForge.java | 50 +++++- .../simpeladd/core/ModBlockRegNeoForge.java | 2 + .../core/ModCreativeTabNeoForge.java | 170 +++++++++--------- .../simpeladd/core/ModItemRegNeoForge.java | 1 + .../simpeladd/mixin/MixinTitleScreen.java | 3 +- .../simpeladdmod.neoforge.mixins.json | 3 +- 97 files changed, 1120 insertions(+), 379 deletions(-) create mode 100644 common/src/main/java/net/x_j0nnay_x/simpeladd/blocks/SimpelFarmLand.java delete mode 100644 common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_ABST.java create mode 100644 common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrowStaff.java create mode 100644 common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/CropBlockMixin.java create mode 100644 common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/NetherWartMixin.java create mode 100644 common/src/main/resources/assets/simpeladdmod/blockstates/simpel_farmland.json create mode 100644 common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland.json create mode 100644 common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland_moist.json create mode 100644 common/src/main/resources/assets/simpeladdmod/models/item/brokengrowstaff.json create mode 100644 common/src/main/resources/assets/simpeladdmod/models/item/growstaff.json create mode 100644 common/src/main/resources/assets/simpeladdmod/models/item/simpel_farmland.json create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland_moist.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland_side.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/item/growstaff.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/item/growstaff_broken.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/item/speedupgrade_2.png create mode 100644 common/src/main/resources/assets/simpeladdmod/textures/item/speedupgrade_3.png create mode 100644 common/src/main/resources/data/c/tags/blocks/ores.json create mode 100644 common/src/main/resources/data/c/tags/blocks/ores/deepslate_debri_ore.json create mode 100644 common/src/main/resources/data/c/tags/blocks/ores/unobtanium_ore.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/copperdust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/golddust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/irondust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/netherite_shard_dust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/netheritedust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/obsidiandust.json create mode 100644 common/src/main/resources/data/c/tags/items/dusts/unobtaniumdust.json create mode 100644 common/src/main/resources/data/c/tags/items/foods.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/flesh.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_beef.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_checkin.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love_veg.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_mut.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_pork.json create mode 100644 common/src/main/resources/data/c/tags/items/foods/sandwich_veg.json create mode 100644 common/src/main/resources/data/c/tags/items/ingots.json rename common/src/main/resources/data/{forge => c}/tags/items/ingots/netherite_shard.json (100%) rename common/src/main/resources/data/{forge => c}/tags/items/ingots/obsidianingot.json (100%) rename common/src/main/resources/data/{forge => c}/tags/items/ingots/unobtanium_scrap.json (100%) delete mode 100644 common/src/main/resources/data/forge/tags/items/dust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/copperdust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/golddust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/irondust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/netherite_shard_dust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/netheritedust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/obsidiandust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/dust/unobtaniumdust.json delete mode 100644 common/src/main/resources/data/forge/tags/items/ingots.json delete mode 100644 common/src/main/resources/data/forge/tags/items/nuggets.json delete mode 100644 common/src/main/resources/data/forge/tags/items/nuggets/netherite_shard.json create mode 100644 common/src/main/resources/data/minecraft/tags/block/mineable/shovel.json create mode 100644 common/src/main/resources/data/minecraft/tags/item/axes.json create mode 100644 common/src/main/resources/data/minecraft/tags/item/hoes.json create mode 100644 common/src/main/resources/data/minecraft/tags/item/pickaxes.json create mode 100644 common/src/main/resources/data/minecraft/tags/item/shovels.json create mode 100644 common/src/main/resources/data/minecraft/tags/item/swords.json delete mode 100644 common/src/main/resources/data/simpeladdmod/forge/tags/chilling.json delete mode 100644 common/src/main/resources/data/simpeladdmod/forge/tags/grindable.json delete mode 100644 common/src/main/resources/data/simpeladdmod/forge/tags/raw_gold_droper.json rename common/src/main/resources/data/simpeladdmod/recipe/{crafting_feeding_gem.json => crafting_tool_feeding_gem.json} (100%) rename common/src/main/resources/data/simpeladdmod/recipe/{crafting_fireproof_gem.json => crafting_tool_fireproof_gem.json} (100%) rename common/src/main/resources/data/simpeladdmod/recipe/{crafting_grinderhead.json => crafting_tool_grinderhead.json} (100%) create mode 100644 common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_growstaff.json rename common/src/main/resources/data/simpeladdmod/recipe/{crafting_repair_gem.json => crafting_tool_repair_gem.json} (100%) rename common/src/main/resources/data/simpeladdmod/recipe/{manual_grinding_clayblock_ball.json => manual_grinding_clay_ball_get.json} (91%) create mode 100644 common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_get.json create mode 100644 common/src/main/resources/data/simpeladdmod/tags/block/plantablecrops.json create mode 100644 fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Fabric.java rename common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory.java => forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Forge.java (95%) create mode 100644 neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_NeoForge.java diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/blocks/SimpelFarmLand.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/blocks/SimpelFarmLand.java new file mode 100644 index 00000000..a199ea87 --- /dev/null +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/blocks/SimpelFarmLand.java @@ -0,0 +1,91 @@ +package net.x_j0nnay_x.simpeladd.blocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.piston.MovingPistonBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.x_j0nnay_x.simpeladd.core.ModTags; + +import java.util.Random; + +import static net.minecraft.world.level.block.SweetBerryBushBlock.AGE; + +public class SimpelFarmLand extends FarmBlock { + + public SimpelFarmLand() { + super(Properties.of() + .sound(SoundType.GRASS) + .strength(3.0f) + .randomTicks() + ); + + } + + @Override + public boolean canSurvive(BlockState blockState, LevelReader levelReader, BlockPos blockPos) { + super.canSurvive(blockState, levelReader, blockPos); + BlockState blockstate = levelReader.getBlockState(blockPos.above()); + if (blockstate.is(ModTags.Blocks.PLANTABLECROPS)) + return true; + return !blockstate.isSolid() || blockstate.getBlock() instanceof FenceGateBlock || blockstate.getBlock() instanceof MovingPistonBlock; + } + + @Override + public void fallOn(Level $$0, BlockState $$1, BlockPos $$2, Entity $$3, float $$4) { + $$3.causeFallDamage($$4, 1.0F, $$3.damageSources().fall()); + } + + @Override + public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSource pRandom) { + super.tick(pState, pLevel, pPos, pRandom); + } + + @Override + public void randomTick(BlockState blockState, ServerLevel level, BlockPos blockPos, RandomSource randomSource) { + super.randomTick(blockState, level, blockPos, randomSource); + for (int i = 0; i < 3; i++) { + growBlocks(level, blockPos); + // turnToFarmLand(level, blockPos); + } + } + + public void turnToFarmLand(Level level, BlockPos blockPos){ + int blockValue = level.getBlockState(blockPos).getValue(MOISTURE); + Random rand = new Random(); + int outOfChance = 75; + int chance = rand.nextInt(outOfChance); + if(chance == 0) { + level.setBlockAndUpdate(blockPos, Blocks.FARMLAND.defaultBlockState().setValue(FarmBlock.MOISTURE, blockValue)); + } + } + + public void growBlocks(ServerLevel level, BlockPos blockPos){ + BlockState blockState = level.getBlockState(blockPos); + if (blockState.getBlock() instanceof SimpelFarmLand) { + BlockPos cropPos = blockPos.above(); + BlockState crop = level.getBlockState(cropPos); + BlockState crop1 = null; + if (crop.getBlock() instanceof CropBlock cropblock) { + if (!cropblock.isMaxAge(crop)) { + this.turnToFarmLand(level, blockPos); + crop1 = cropblock.getStateForAge(cropblock.getAge(crop) + 1); + } + } else if (crop.is(Blocks.SWEET_BERRY_BUSH) || crop.is(Blocks.NETHER_WART)) { + int bushBlock = crop.getValue(AGE); + if (bushBlock < 3) { + this.turnToFarmLand(level, blockPos); + crop1 = crop.setValue(AGE, bushBlock + 1); + } + } + if (crop1 != null) { + level.setBlockAndUpdate(cropPos, crop1); + } + } + } + +} diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_ABST.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_ABST.java deleted file mode 100644 index f2f08ed5..00000000 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_ABST.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.x_j0nnay_x.simpeladd.compat.jei; - - -import mezz.jei.api.IModPlugin; -import mezz.jei.api.JeiPlugin; -import mezz.jei.api.helpers.IGuiHelper; -import mezz.jei.api.registration.IRecipeCategoryRegistration; -import mezz.jei.api.registration.IRecipeRegistration; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.x_j0nnay_x.simpeladd.SimpelAddMod; -import org.jetbrains.annotations.NotNull; - - -@JeiPlugin -public abstract class JEI_PluginSimpeladd_ABST implements IModPlugin { - - @Override - public void registerCategories(IRecipeCategoryRegistration registration) { - IGuiHelper helper = registration.getJeiHelpers().getGuiHelper(); - registration.addRecipeCategories( - new JEI_GrindingCatagory(helper) - ); - } - - @Override - public void registerRecipes(IRecipeRegistration registration) { - registration.addRecipes(JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE, JEI_GrindingCatagory.getAllRecipes()); - registration.addItemStackInfo(new ItemStack(Items.WATER_BUCKET), Component.translatable("simpeladdmod.jei.waterbucket")); - registration.addItemStackInfo(new ItemStack(Items.LAVA_BUCKET), Component.translatable("simpeladdmod.jei.lavabucket")); - registration.addItemStackInfo(new ItemStack(Items.SNOWBALL), Component.translatable("simpeladdmod.jei.chilling.snowball")); - registration.addItemStackInfo(new ItemStack(Items.SNOW_BLOCK), Component.translatable("simpeladdmod.jei.chilling.snowblock")); - registration.addItemStackInfo(new ItemStack(Items.ICE), Component.translatable("simpeladdmod.jei.chilling.ice")); - registration.addItemStackInfo(new ItemStack(Items.PACKED_ICE), Component.translatable("simpeladdmod.jei.chilling.packedice")); - registration.addItemStackInfo(new ItemStack(Items.BLUE_ICE), Component.translatable("simpeladdmod.jei.chilling.blueice")); - } - - @Override - public @NotNull ResourceLocation getPluginUid() { - return ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "_jei_plugin"); - } -} diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlocks.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlocks.java index 646a5701..24d9072b 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlocks.java +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlocks.java @@ -3,11 +3,13 @@ import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FarmBlock; import net.minecraft.world.level.block.state.BlockBehaviour; -import net.x_j0nnay_x.simpeladd.blocks.SimpelBlock; -import net.x_j0nnay_x.simpeladd.blocks.SimpelXPBlock; +import net.x_j0nnay_x.simpeladd.blocks.*; + public class ModBlocks { public static final Block DEEPSLATE_DEBRI_ORE = new SimpelXPBlock(UniformInt.of(2, 6), BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE_DIAMOND_ORE)); public static final Block UNOBTANIUM_ORE = new SimpelBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE_DIAMOND_ORE)); + public static final FarmBlock SIMPELFARMLAND = new SimpelFarmLand(); } diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItems.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItems.java index 7d549a80..b1bb3afa 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItems.java +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItems.java @@ -26,6 +26,7 @@ public class ModItems { public static final Item REPAIRTOOL = new SimpelRepairTool(1000); public static final Item FIREPROOFTOOL = new SimpelFireProofTool(600); public static final Item FEEDINGTOOL = new SimpelFeedingTool(450); + public static final Item GROWSTAFF = new GrowStaff(380); //upgrades public static final Item SPEEDUPGRADE_1 = new SimpelItem(new Item.Properties()); public static final Item SPEEDUPGRADE_2 = new SimpelItem(new Item.Properties()); diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModTags.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModTags.java index f0fde870..1e11679a 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModTags.java +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/core/ModTags.java @@ -11,6 +11,7 @@ public class ModTags { public static class Blocks { public static final TagKey OBSIDIANTOOL = tag("needs_obsidiantool"); + public static final TagKey PLANTABLECROPS = tag("plantablecrops"); private static TagKey tag(String name) { return TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, name)); } diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrinderHeadItem.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrinderHeadItem.java index 64fc7a10..e37f7347 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrinderHeadItem.java +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrinderHeadItem.java @@ -13,17 +13,14 @@ public GrinderHeadItem(int maxuses) { } public static ItemStack brakeItem(ItemStack itemstack) { - ItemStack retval = itemstack.copy(); - retval.setDamageValue(retval.getDamageValue() + 1); - if (retval.getDamageValue() >= retval.getMaxDamage()) { + ItemStack grinder = itemstack.copy(); + grinder.setDamageValue(grinder.getDamageValue() + 1); + if (grinder.getDamageValue() >= grinder.getMaxDamage()) { return ItemStack.EMPTY; } - return retval; + return grinder; } - public static ItemStack getRemainderItem(ItemStack itemStack) { - return brakeItem(itemStack); - } @Override public boolean isValidRepairItem(ItemStack $$0, ItemStack $$1) { diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrowStaff.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrowStaff.java new file mode 100644 index 00000000..6b33073f --- /dev/null +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/item/GrowStaff.java @@ -0,0 +1,82 @@ +package net.x_j0nnay_x.simpeladd.item; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.block.FarmBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.x_j0nnay_x.simpeladd.blocks.SimpelFarmLand; +import net.x_j0nnay_x.simpeladd.core.ModBlocks; +import java.util.Map; + + +public class GrowStaff extends Item { + + + private static final Map FARMLAND_MAP = + Map.of( + Blocks.FARMLAND, ModBlocks.SIMPELFARMLAND + ); + + public GrowStaff(int maxuses){ + super(new Item.Properties() + .stacksTo(1) + .durability(maxuses) + ); + } + public static ItemStack damageItem(ItemStack itemstack) { + ItemStack growstaf = itemstack.copy(); + if(growstaf.getDamageValue() > growstaf.getMaxDamage()){ + return itemstack; + }else { + growstaf.setDamageValue(growstaf.getDamageValue() + 1); + return growstaf; + } + } + + @Override + public InteractionResult useOn(UseOnContext context) { + int blockValue; + Level level = context.getLevel(); + if (!level.isClientSide) { + ItemStack staf = context.getItemInHand(); + BlockPos blockPos = context.getClickedPos(); + BlockState blockState = context.getLevel().getBlockState(blockPos); + Block block = blockState.getBlock(); + if(staf.getDamageValue() > staf.getMaxDamage()){ + return InteractionResult.FAIL; + } + if (block instanceof CropBlock) { + CropBlock cropBlock = (CropBlock) block; + if (cropBlock.isMaxAge(blockState)) { + return InteractionResult.FAIL; + } + cropBlock.growCrops((ServerLevel) context.getLevel(), blockPos, blockState); + level.playSound(context.getPlayer(), blockPos, SoundEvents.BONE_MEAL_USE, SoundSource.PLAYERS, 1.0f, 1.0f); + staf.setDamageValue(staf.getDamageValue() + 1); + return InteractionResult.SUCCESS; + } + + if(block instanceof FarmBlock && block != ModBlocks.SIMPELFARMLAND){ + blockValue = blockState.getValue(FarmBlock.MOISTURE); + level.setBlockAndUpdate(blockPos, FARMLAND_MAP.get(block).defaultBlockState().setValue(SimpelFarmLand.MOISTURE, blockValue)); + level.playSound(context.getPlayer(), blockPos, SoundEvents.HOE_TILL, SoundSource.PLAYERS, 1.0f, 1.0f); + staf.setDamageValue(staf.getDamageValue() + 3); + return InteractionResult.SUCCESS; + } + + } + return InteractionResult.PASS; + } + +} diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/CropBlockMixin.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/CropBlockMixin.java new file mode 100644 index 00000000..7db93a22 --- /dev/null +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/CropBlockMixin.java @@ -0,0 +1,50 @@ +package net.x_j0nnay_x.simpeladd.mixin; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.x_j0nnay_x.simpeladd.blocks.SimpelFarmLand; +import net.x_j0nnay_x.simpeladd.core.ModBlocks; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(CropBlock.class) +public class CropBlockMixin { + + @Inject(method = "mayPlaceOn", at = @At("HEAD"), cancellable = true) + protected void mayPlaceOn(BlockState $$0, BlockGetter $$1, BlockPos $$2, CallbackInfoReturnable cir) { +// if ($$0.is(ModBlocks.SIMPELFARMLAND)) { +// cir.setReturnValue(true); +// } + if ($$0.getBlock() instanceof SimpelFarmLand){ + cir.setReturnValue(true); + } + } + + @Inject(method = "getGrowthSpeed", at = @At("HEAD"), cancellable = true) + private static void getGrowthSpeed(Block $$0, BlockGetter $$1, BlockPos $$2, CallbackInfoReturnable cir) { + float flot1 = 1.0F; + BlockPos blockPos = $$2.below(); + for (int i1 = -1; i1 <= 1; ++i1) { + for (int i2 = -1; i2 <= 1; ++i2) { + float flot2 = 0.0F; + BlockState $$8 = $$1.getBlockState(blockPos.offset(i1, 0, i2)); + if ($$8.is(ModBlocks.SIMPELFARMLAND)) { + flot2 = 3.0F; + } + + if (i1 != 0 || i2 != 0) { + flot2 /= 4.0F; + } + + flot1 += flot2; + } + } + } + + +} diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/NetherWartMixin.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/NetherWartMixin.java new file mode 100644 index 00000000..6e762222 --- /dev/null +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/mixin/NetherWartMixin.java @@ -0,0 +1,28 @@ +package net.x_j0nnay_x.simpeladd.mixin; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.NetherWartBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.x_j0nnay_x.simpeladd.blocks.SimpelFarmLand; +import net.x_j0nnay_x.simpeladd.core.ModBlocks; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(NetherWartBlock.class) +public class NetherWartMixin { + + @Inject(method = "mayPlaceOn", at = @At("HEAD"), cancellable = true) + protected void mayPlaceOn(BlockState $$0, BlockGetter $$1, BlockPos $$2, CallbackInfoReturnable cir) { +// if($$0.is(ModBlocks.SIMPELFARMLAND)){ +// cir.setReturnValue(true); +// } + if ($$0.getBlock() instanceof SimpelFarmLand){ + cir.setReturnValue(true); + } + } + + +} diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/recipe/ManualGrind.java b/common/src/main/java/net/x_j0nnay_x/simpeladd/recipe/ManualGrind.java index e72a9dca..f27cba32 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/recipe/ManualGrind.java +++ b/common/src/main/java/net/x_j0nnay_x/simpeladd/recipe/ManualGrind.java @@ -88,7 +88,7 @@ public NonNullList getRemainingItems(CraftingInput $$0) { for(int $$2 = 0; $$2 < $$1.size(); ++$$2) { Item $$3 = $$0.getItem($$2).getItem(); if ($$3.getDefaultInstance().is(ModTags.Items.GRINDERS)) { - $$1.set($$2, GrinderHeadItem.getRemainderItem(grinder)); + $$1.set($$2, GrinderHeadItem.brakeItem(grinder)); } } diff --git a/common/src/main/resources/assets/simpeladdmod/blockstates/simpel_farmland.json b/common/src/main/resources/assets/simpeladdmod/blockstates/simpel_farmland.json new file mode 100644 index 00000000..f27b87f2 --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/blockstates/simpel_farmland.json @@ -0,0 +1,28 @@ +{ + "variants": { + "moisture=0": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=1": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=2": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=3": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=4": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=5": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=6": { + "model": "simpeladdmod:block/simpel_farmland" + }, + "moisture=7": { + "model": "simpeladdmod:block/simpel_farmland_moist" + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/lang/en_us.json b/common/src/main/resources/assets/simpeladdmod/lang/en_us.json index 950bd76d..eb0353a0 100644 --- a/common/src/main/resources/assets/simpeladdmod/lang/en_us.json +++ b/common/src/main/resources/assets/simpeladdmod/lang/en_us.json @@ -1,13 +1,12 @@ { - "item.simpeladdmod.simpel_elitra_half": "Simpel Wing Half", - "item.simpeladdmod.simpel_elitra_part1": "Simpel Wings Base", - "item.simpeladdmod.simpel_elitra_part2": "Simpel Wings Support", + "item.simpeladdmod.simpel_elitra_half": "Simple Wing Half", + "item.simpeladdmod.simpel_elitra_part1": "Simple Wing Base", + "item.simpeladdmod.simpel_elitra_part2": "Simple Wing Support", "item.simpeladdmod.grinderhead" : "Grinder Head", "item.simpeladdmod.grinderhead_netherite" : "Netherite Grinder Head", "item.simpeladdmod.grinderhead_unobtanium" : "Unobtanium Grinder Head", - "item.simpeladdmod.goldstick" : "Gold Stick", "item.simpeladdmod.woodfiber" : "Wood Fiber", "item.simpeladdmod.flesh" : "Flesh", "item.simpeladdmod.netherite_shard" : "Ancient Shards", @@ -17,6 +16,7 @@ "item.simpeladdmod.repairtool": "Repair Tool", "item.simpeladdmod.fireprooftool": "Fire Proof Tool", "item.simpeladdmod.feedingtool": "Feeding Tool", + "item.simpeladdmod.growstaff" : "Grow Staff", "item.simpeladdmod.unobtaniumdust" : "Unobtanium Dust", "item.simpeladdmod.netherite_shard_dust" : "Ancient Shards Dust", @@ -26,11 +26,11 @@ "item.simpeladdmod.netheritedust" : "Netherite Scrap Dust", "item.simpeladdmod.obsidiandust": "Obsidian Dust", - "item.simpeladdmod.speedupgrade_1" : "Speed Upgrade 1.5x", - "item.simpeladdmod.speedupgrade_2" : "Speed Upgrade 2.5x", - "item.simpeladdmod.speedupgrade_3" : "Speed Upgrade 6x", - "item.simpeladdmod.boostupgrade" : "Grinder Efficiency", - "item.simpeladdmod.xpboostupgrade" : "Xp Boost 4x", + "item.simpeladdmod.speedupgrade_1" : "Speed Upgrade 1", + "item.simpeladdmod.speedupgrade_2" : "Speed Upgrade 2", + "item.simpeladdmod.speedupgrade_3" : "Speed Upgrade 3", + "item.simpeladdmod.boostupgrade" : "Efficiency Upgrade", + "item.simpeladdmod.xpboostupgrade" : "Xp Boost Upgrade", "item.simpeladdmod.sandwich_beef" : "Beef Sandwich", @@ -43,8 +43,8 @@ "item.simpeladdmod.blankupgrade_raw" : "Unset Blank Upgrade", "item.simpeladdmod.blankupgrade" : "Blank Upgrade", - "item.simpeladdmod.obsidian_upgrade_smithing" : "Obsidian Smithing Template", - "item.simpeladdmod.unobtanium_upgrade_smithing" : "Unobtanium Smithing Template", + "item.simpeladdmod.obsidian_upgrade_smithing" : "Obsidian Smiting Template", + "item.simpeladdmod.unobtanium_upgrade_smithing" : "Unobtanium Smiting Template", "item.simpeladdmod.obsidianaxe": "Obsidian Axe", "item.simpeladdmod.obsidianpickaxe" : "Obsidian Pickaxe", @@ -86,7 +86,6 @@ "item.simpeladdmod.unobtainobsidiritelegs" : "Unobtan Obsidirite Leggings", "item.simpeladdmod.unobtainobsidiriteboots" : "Unobtan Obsidirite Boots", - "block.simpeladdmod.deepslate_debri_ore" : "Deepslate Debri Ore", "block.simpeladdmod.unobtanium_ore" : "Unobtanium Ore", "block.simpeladdmod.upgraded_furnace_block": "Upgraded Furnace", @@ -97,7 +96,7 @@ "block.simpeladdmod.netherite_crafter_block": "Netherite Crafting Block", "block.simpeladdmod.upgraded_furnace": "Upgraded Furnace", "block.simpeladdmod.grind_factory_block": "Grind Factory", - + "block.simpeladdmod.simpel_farmland": "Simple Farmland", "creativetab.simpel_tab": "Simpel add Tab", @@ -108,7 +107,7 @@ "simpeladdmod.jei.chilling.blueice": "inside of the Chiller this will give you 12 chilling", "simpeladdmod.jei.waterbucket": "inside of the Chiller this will give you 10x ice.", "simpeladdmod.jei.lavabucket": "inside of the Block Factory will give you 4x Obsidian", - "simpeladdmod.jei.grinder": "Grinding Recipes", + "simpeladdmod.jei.grinder": "Grinding", "gui.simpeladdmod.grinder_gui.Grindables": "Any Item with the Tag Grindable", "gui.simpeladdmod.chiller_block_gui.Chilling": "Any Item With The Tage Chilling", @@ -170,9 +169,7 @@ "advancements.simpeladdmod.grinder_block_up.title" : "Lets Make this even faster", "advancements.simpeladdmod.grinder_block_up.descrip" : "More slots auto splitting and upgradable for speed and efficiency", "advancements.simpeladdmod.grind_factory.title" : "Lets Grind and Smelt", - "advancements.simpeladdmod.grind_factory.descrip" : "adds xp for grind and auto smelting", - "advancements.simpeladdmod.grind_factory_block.title" : "Lets Make this more automated", - "advancements.simpeladdmod.grind_factory_block.descrip" : "Grinding gets XP, and it Smelts Them aswell?", + "advancements.simpeladdmod.grind_factory.descrip" : "Grinding gets XP, and it Smelts Them aswell?", "advancements.simpeladdmod.netherite_crafter_block.title" : "Lets Make Ingots Even better", "advancements.simpeladdmod.netherite_crafter_block.descrip" : "One Scrap, One Gold, some heat from a blaze rod and off we go!!!", "advancements.simpeladdmod.blockfactory_block.title" : "Cobble works", diff --git a/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland.json b/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland.json new file mode 100644 index 00000000..22f91ab7 --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_farmland", + "textures": { + "dirt": "simpeladdmod:block/simpel_farmland_side", + "top": "simpeladdmod:block/simpel_farmland" + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland_moist.json b/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland_moist.json new file mode 100644 index 00000000..d1cb35c2 --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/models/block/simpel_farmland_moist.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_farmland", + "textures": { + "dirt": "simpeladdmod:block/simpel_farmland_side", + "top": "simpeladdmod:block/simpel_farmland_moist" + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/item/brokengrowstaff.json b/common/src/main/resources/assets/simpeladdmod/models/item/brokengrowstaff.json new file mode 100644 index 00000000..07dfcfb0 --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/models/item/brokengrowstaff.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "simpeladdmod:item/growstaff_broken" + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/item/growstaff.json b/common/src/main/resources/assets/simpeladdmod/models/item/growstaff.json new file mode 100644 index 00000000..8b4bf16a --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/models/item/growstaff.json @@ -0,0 +1,11 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "simpeladdmod:item/growstaff" + }, + "overrides": [ + {"predicate": { "damage": 1, "damage" : 1}, "model": "simpeladdmod:item/brokengrowstaff"} + + ] + +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/item/simpel_farmland.json b/common/src/main/resources/assets/simpeladdmod/models/item/simpel_farmland.json new file mode 100644 index 00000000..81169461 --- /dev/null +++ b/common/src/main/resources/assets/simpeladdmod/models/item/simpel_farmland.json @@ -0,0 +1,3 @@ +{ + "parent": "simpeladdmod:block/simpel_farmland" +} \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_2.json b/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_2.json index 6e66e2d3..6dd7d872 100644 --- a/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_2.json +++ b/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_2.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "simpeladdmod:item/speedupgrade_1" + "layer0": "simpeladdmod:item/speedupgrade_2" } } \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_3.json b/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_3.json index 6e66e2d3..c574c4b8 100644 --- a/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_3.json +++ b/common/src/main/resources/assets/simpeladdmod/models/item/speedupgrade_3.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "simpeladdmod:item/speedupgrade_1" + "layer0": "simpeladdmod:item/speedupgrade_3" } } \ No newline at end of file diff --git a/common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland.png b/common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland.png new file mode 100644 index 0000000000000000000000000000000000000000..34d99f33ba499c6e2cd10bf7e720809e34e080fb GIT binary patch literal 764 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0+C5XK~y+TMN?f* z6HyR7y9N9RSp~b@wzR|u2vI}i!DtLICMLpz`ruFS-5=ne@fY}liH4ZygFYD}L?h9< zXaa31yO%GQK>6BU&&)!YW_#z}nK?6a=3eK^qe*+tJ%ewN!HikM?fgX)oGwfRKGM!1 zcF=)G`#kM$Xun1KRIvoFQUTI!xWV8MqO^@tz8BpNFclO~w}*PxM<>U9mufLyX+F-sm~l^78>X>G!gtXC$+WBlTgRl^9m5J~FGdK5+x-VuD-&%@Xh zURf&dW(y?B^7rD}Rjne&PlCU%MhfsT_aFmNv9$TBEjCtl?;_n*0tHPHi%`xF% zgZnl=;Xjia`xR00C?|Y~2pBpCSxm;k0K!IuPw|?LXx6N&lUJ=GX>bZs%&|OF`x-Te z97qy!5H0`JOY_;eu1?QyjG;{qq)Gu1kyWbD?3B=KWxTO!Hy9}C;Zyupbm?`xSUk;4 zpwlUcIGDkxYCoG1L38Ih(>`4BJvAOkL}wq#(jRqFB1@bA`+my=(&inzfQb8k=lCs1 zOvKAHk-vb~#vrEAEA=UeS7xx?)62HYK}Rfmlztb;&o;45oA?Y>r0pCwY>NM+8ZkRF__dG#0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#HdrK~y+TO_NVg z6Hye!@4Ojk2TD^!V~oTu+hWlqX<^D)NaFR3*dn$OhZYn2&iWj9337LodVjk!vK&~r5ZSXU zv9sP7fC^`TR}m4|A^9N%E+%}0S9gNw6*h(p-kl0d%IR-ag#fJpm;#CCckPm<6y2@*d6*Iyi&JL-?^H<51u z^~OsdlvQ$)G27{mOug+P_>&xUFu-5VJ1fwItD#<{l_EeDk~$Gt1lfbT&+RoL6RWU) z*?ab{PJ*Y4x%7~BW^r_ssN zllU7>;UAS7nc=cJ94*}|lICEnuRQiZjs5F@)PqE1`l|~G%XAM4IDPiw*4V%7fFqQ; z_PR#$q_Tu`l>b{LE2b{oBKx?^nO@3{M}!kv+s;TDWSJtT#C~K$en+ui_`2?Hmjsb? znPR{uNm?%Q|9d002NJ2I!2HLJHUOgyOPt97HFSex}%$Op7~OiT|= hIqS?R4`+~?{Q>$QAP{DT%BcVV002ovPDHLkV1g4|I%fa? literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland_side.png b/common/src/main/resources/assets/simpeladdmod/textures/block/simpel_farmland_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e815cd427e9b4216887fcc035aee6dccf85a4334 GIT binary patch literal 693 zcmV;m0!safP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0!m3lK~y+TZIjz; z6HySxzrEzrrb!AaUXogoDwZN%UVITL1nGl+fPbSDim&3UFM`%ku-1x~G+5eDB-!26 zWV08)@9d^c!GYZ~Gv_jAely4V^I|oPlNy}j2#7)$af*m1Wgr>Dap`wT#vP9>Af;L6 zPxjvg*51Qrx}8S&6$DtX*3HC08smpgyO!A<+S(EZr^YTX%p1E33%0{U5Aw~+wu6BB zhzqq@x_o2Wr~H;I8_(;DXj%?BockL1ur}&;+9t(N(sF#(5o-#dZzng{F>(v$%RMwkBR z4Nx&UaJO28ZDqRT?VyhmK^_OgjDdKRQWln(L6gaK@mjdr}lrm3H~%t_w2Dz?VK{ApW<=K$GI} zj4adxYOGE6f$EP6t)X+V557HWrkh?LPsw0a3{panb_=H2`;HQ4(SJs!zTZjk7)DV3i3phX7CSB^X`@`@pU++a0LYK&{f b^LgMOW~mEagKPn?00000NkvXXu0mjf94|!` literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/simpeladdmod/textures/item/growstaff.png b/common/src/main/resources/assets/simpeladdmod/textures/item/growstaff.png new file mode 100644 index 0000000000000000000000000000000000000000..1c385c732f1cfc55e8b4af8c84b86f4a694f0746 GIT binary patch literal 3059 zcmVv$P)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000Uv zX+uL$Nkc;*P;zf(X>4Tx07%E3mUmQC*A|D*y?1({%`gH|hTglt0MdJtUPWP;8DJ;_ z4l^{dA)*2iMMRn+NKnLp(NH8-M6nPQRImpm2q-ZaMN}+rM%Ih2ti1Q~^84egZ|$@9 zx%=$B&srA%lBX}1mj+7#kjfMAgFKw+5s^`J>;QlP9$S?PR%=$HTzo3l9?ED;xoI3-JvF1F8#m>QQXW*8-A zz9>Nv%ZWK*kqtikEV84R*{M9Xh{ZXlvs2k(?iKO2Od&_ah_8qXGr62B5#JKAMv5?% zE8;ie*i;TP0{|3BY!`4?i6S-;F^L}%f`(o2L0Dz>ZZynda zx(`h}FNp#{x{a}MR#uh~m%}m=7xWMPPlvyuufAs_KJJh5&|Nw4Oks+EF0LCZEhSCJ zr)Q)ySsc3IpNIG#2mW;)20@&74xhslMTCi_jLS<9wVTK03b<)JI+ypKn)naH{-njZ z7KzgM5l~}{fYfy=Kz{89C<+lE(fh?+|D$id_%I-TdEqLPi*x_)H~nY9rQ#)noA5c# zB`Ac>67n+__r%Wu$9dISw03U@r;Pdb`_%=KWKZEBGfDjQH zqKX(I48#TTN1~8;gpaI8ijWGV0cl0Lkv`-mGK$O~Z&4T&1w}_0qHIx~s8AFOwFb2w zRf4KU9Y%GadQmq~W2jlwM>H9&h}K8jpuNx$=mc~Yx)5D~ZbG-CFQRXwC(y4k7z_=g zjj_UbVj?j~n6;P^%sxyT<{V}aGme?VVzKgAeXJeUAIroFu!Yzv>{0Al>=1SW`vynE zso>0T?zku%50{Utz#YMz!42UiaSM1Uye8fT?~iBWbMU43MtnE^I(`DbK#(SA6YK~f zge1ZyLM5SA?cA^NYNxAX$R>L=^W`U z=_Q#=)*?HSqsRjC4stX30{Id7jRZx)NWx2kEwMqOMxsMvNaDF9UQ$!iNpiJhu4IMe z3CZh{Gg5ddEh!f%rqp_=8mW^~BT{qH6lqgwf9X`|66qt-SEQ$8urgXQZZd3{0-1v{ z7i7jM2t}RZLSa!hQyM83DHBu-Rh#NXO`;Z4zoQONXJut%m&u07X3N&do|YY@Av7(T z7cGTWN;^&)roCIDw8Uu%XUX;@txJZM%*!p6bCl!A70I>9-IjYNPnUO-PnO>$-zoo4 z0i~d)5U7x)uwUV#!pu_YQro4hrA14RFTJM-E9xl*DXvvKsMxPKr=+app_HyvrF21Q zMwzDUsGOu+u6#y$T7{xwufkO+S2?TllrBqmqNmU+>Amz>RYg@#RiSFV>VWEknzmY~ zTE1GF+Cz1MIzv5Pys-#cBCZ~; zMXm#GGH#)6)ozd6)!Y-@Tijj2>R4y()XvmDLKXQ&yjjk&I!+oQOrohQ}U>eb4k~HZbSnyy9x( zW?3$*y{uH6t~>7#3G*6dj`%lF|oWk4CLGP(p*(a%)B zP)E2$IF@OjS(EuDD=h0owsbZxyFW)SXM4_Mu6ypcYf)=iYkTrk^ETy;t#evezaCm2 zx4vhC`i6oH6B|7?9^ORQl)UMue3SgL{8yX9H+L5(6>KaR-{P^QrBI@fUpTVWc5B@> z)Hd$6f$iqotG0hEVi#R4HYu(seqX{Wx%!RiH@;dd*9H0$NjB!N_E9`?+$Pe+^P4d?`Y6!s5po@n0fF?V_0L~w~TL_n-rRgn?4-k z9U46xbhx+Ks=4`y;*ru8xJB49eKh*$jqhB)>uNP@t#6~X6(0k~gvXwKAN&3Aai8No zCm1JMf6)A)ww=;m)B$zmbj)@pc8+#Mb`75NKH1Z4+ui=7(T|5tsh+AiEql834Bs>djZ*&hXA3QVUFm(Q=>&;8Iyl!2)z2f%ZaOm)z zk?4`pJM24CcT?`ZxR-fv;r_-4=m$j)r5;v1Qhe0#v+mDrqn4wm$6Uwy9|u3aKh7F| z_DjYu?mT-%DP~zdZD6*{hzpfVoGnQ(rI47rl{xbNDUeZQr}_casZQ@3HSIKj?nw{^;}Z z!Kc(upZ)~{nDhK^CfpAI000SaNLh0L01l=A01l=Bhuo=e0003lNkl0pO|3Aopa5l&bgz)KOOaH%kdg=e4 z-*5l_|E&9eoejbOqFo>&Ce6UiBEayM;{b!z%1aE@b=g3({}VPKyh-@~v#Hr&_TN7r z7~Z^k%JBH%WiTHE@Wuj2bM&o$41RO-7}mQqF`RXR7z6?>jZ+|@3G*j94k#6a1Q^uM zFek@#sr;X^+aJsZVGNBR4A%?{ZIEVk`OFDQa4{4K5bj!+fMPScJUT|w9POK)(lP{Ak9z=3ov3Z6DUr%CMYv7d@%sW%FAb0!8Eae$;2{> z@yU%3335@G;KLaM3H0dwGqgdkvG004+LjAON=sfGXm002ovPDHLkV1jX1 Byr=*G literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/simpeladdmod/textures/item/growstaff_broken.png b/common/src/main/resources/assets/simpeladdmod/textures/item/growstaff_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..6c700caeb6407d6aaa4ca849e5c6583d6981747c GIT binary patch literal 3045 zcmV004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000Uv 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/simpeladdmod/textures/item/speedupgrade_2.png b/common/src/main/resources/assets/simpeladdmod/textures/item/speedupgrade_2.png new file mode 100644 index 0000000000000000000000000000000000000000..92a53cae9f18545807b235263843a74d412db4f0 GIT binary patch literal 3027 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/data/c/tags/blocks/ores.json b/common/src/main/resources/data/c/tags/blocks/ores.json new file mode 100644 index 00000000..1ed097f3 --- /dev/null +++ b/common/src/main/resources/data/c/tags/blocks/ores.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": + [ + "#c:ores/deepslate_debri_ore", + "#c:ores/unobtanium_ore" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/blocks/ores/deepslate_debri_ore.json b/common/src/main/resources/data/c/tags/blocks/ores/deepslate_debri_ore.json new file mode 100644 index 00000000..338b5ff5 --- /dev/null +++ b/common/src/main/resources/data/c/tags/blocks/ores/deepslate_debri_ore.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:deepslate_debri_ore" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/blocks/ores/unobtanium_ore.json b/common/src/main/resources/data/c/tags/blocks/ores/unobtanium_ore.json new file mode 100644 index 00000000..da01f9f9 --- /dev/null +++ b/common/src/main/resources/data/c/tags/blocks/ores/unobtanium_ore.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:unobtanium_ore" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts.json b/common/src/main/resources/data/c/tags/items/dusts.json new file mode 100644 index 00000000..c436a574 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": + [ + "#c:dusts/copperdust", + "#c:dusts/golddust", + "#c:dusts/irondust", + "#c:dusts/netherite_shard_dust", + "#c:dusts/netheritedust", + "#c:dusts/obsidiandust", + "#c:dusts/unobtaniumdust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/copperdust.json b/common/src/main/resources/data/c/tags/items/dusts/copperdust.json new file mode 100644 index 00000000..8973550f --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/copperdust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:copperdust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/golddust.json b/common/src/main/resources/data/c/tags/items/dusts/golddust.json new file mode 100644 index 00000000..6a4494a4 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/golddust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:golddust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/irondust.json b/common/src/main/resources/data/c/tags/items/dusts/irondust.json new file mode 100644 index 00000000..ff70cc6e --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/irondust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:irondust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/netherite_shard_dust.json b/common/src/main/resources/data/c/tags/items/dusts/netherite_shard_dust.json new file mode 100644 index 00000000..ca937b41 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/netherite_shard_dust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:netherite_shard_dust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/netheritedust.json b/common/src/main/resources/data/c/tags/items/dusts/netheritedust.json new file mode 100644 index 00000000..a82cfd62 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/netheritedust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:netheritedust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/obsidiandust.json b/common/src/main/resources/data/c/tags/items/dusts/obsidiandust.json new file mode 100644 index 00000000..10e473ac --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/obsidiandust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:obsidiandust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/dusts/unobtaniumdust.json b/common/src/main/resources/data/c/tags/items/dusts/unobtaniumdust.json new file mode 100644 index 00000000..2c68017a --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/dusts/unobtaniumdust.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:unobtaniumdust" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods.json b/common/src/main/resources/data/c/tags/items/foods.json new file mode 100644 index 00000000..346d10d1 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods.json @@ -0,0 +1,14 @@ +{ + "replace": false, + "values": + [ + "#c:foods/flesh", + "#c:foods/sandwich_beef", + "#c:foods/sandwich_mut", + "#c:foods/sandwich_pork", + "#c:foods/sandwich_checkin", + "#c:foods/sandwich_veg", + "#c:foods/sandwich_meet_love", + "#c:foods/sandwich_meet_love_veg" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/flesh.json b/common/src/main/resources/data/c/tags/items/foods/flesh.json new file mode 100644 index 00000000..0ddcb698 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/flesh.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:flesh" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_beef.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_beef.json new file mode 100644 index 00000000..8cdc30bb --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_beef.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_beef" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_checkin.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_checkin.json new file mode 100644 index 00000000..936b06f0 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_checkin.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_checkin" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love.json new file mode 100644 index 00000000..75b51ab9 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_meet_love" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love_veg.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love_veg.json new file mode 100644 index 00000000..b17a9f10 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_meet_love_veg.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_meet_love_veg" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_mut.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_mut.json new file mode 100644 index 00000000..179cf3ed --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_mut.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_mut" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_pork.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_pork.json new file mode 100644 index 00000000..0c957a4a --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_pork.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_pork" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/foods/sandwich_veg.json b/common/src/main/resources/data/c/tags/items/foods/sandwich_veg.json new file mode 100644 index 00000000..6aab6359 --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/foods/sandwich_veg.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "value" : [ + "simpeladdmod:sandwich_veg" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/c/tags/items/ingots.json b/common/src/main/resources/data/c/tags/items/ingots.json new file mode 100644 index 00000000..dcfe0b5f --- /dev/null +++ b/common/src/main/resources/data/c/tags/items/ingots.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "value" : [ + "#c:ingots/unobtanium_scrap", + "#c:ingots/netherite_shard", + "#c:ingots/obsidianingot" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/ingots/netherite_shard.json b/common/src/main/resources/data/c/tags/items/ingots/netherite_shard.json similarity index 100% rename from common/src/main/resources/data/forge/tags/items/ingots/netherite_shard.json rename to common/src/main/resources/data/c/tags/items/ingots/netherite_shard.json diff --git a/common/src/main/resources/data/forge/tags/items/ingots/obsidianingot.json b/common/src/main/resources/data/c/tags/items/ingots/obsidianingot.json similarity index 100% rename from common/src/main/resources/data/forge/tags/items/ingots/obsidianingot.json rename to common/src/main/resources/data/c/tags/items/ingots/obsidianingot.json diff --git a/common/src/main/resources/data/forge/tags/items/ingots/unobtanium_scrap.json b/common/src/main/resources/data/c/tags/items/ingots/unobtanium_scrap.json similarity index 100% rename from common/src/main/resources/data/forge/tags/items/ingots/unobtanium_scrap.json rename to common/src/main/resources/data/c/tags/items/ingots/unobtanium_scrap.json diff --git a/common/src/main/resources/data/forge/tags/items/dust.json b/common/src/main/resources/data/forge/tags/items/dust.json deleted file mode 100644 index efa52b91..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "values": - [ - "#forge:dust/copperdust", - "#forge:dust/golddust", - "#forge:dust/irondust", - "#forge:dust/netherite_shard_dust", - "#forge:dust/netheritedust", - "#forge:dust/obsidiandust", - "#forge:dust/unobtaniumdust" - ]} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/copperdust.json b/common/src/main/resources/data/forge/tags/items/dust/copperdust.json deleted file mode 100644 index 182cef73..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/copperdust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:copperdust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/golddust.json b/common/src/main/resources/data/forge/tags/items/dust/golddust.json deleted file mode 100644 index 335eef05..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/golddust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:golddust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/irondust.json b/common/src/main/resources/data/forge/tags/items/dust/irondust.json deleted file mode 100644 index 62cb6850..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/irondust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:irondust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/netherite_shard_dust.json b/common/src/main/resources/data/forge/tags/items/dust/netherite_shard_dust.json deleted file mode 100644 index 3cbec069..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/netherite_shard_dust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:netherite_shard_dust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/netheritedust.json b/common/src/main/resources/data/forge/tags/items/dust/netheritedust.json deleted file mode 100644 index a75fd669..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/netheritedust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:netheritedust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/obsidiandust.json b/common/src/main/resources/data/forge/tags/items/dust/obsidiandust.json deleted file mode 100644 index ac806603..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/obsidiandust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:obsidiandust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/dust/unobtaniumdust.json b/common/src/main/resources/data/forge/tags/items/dust/unobtaniumdust.json deleted file mode 100644 index 0ee3007f..00000000 --- a/common/src/main/resources/data/forge/tags/items/dust/unobtaniumdust.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:unobtaniumdust"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/ingots.json b/common/src/main/resources/data/forge/tags/items/ingots.json deleted file mode 100644 index d5de861f..00000000 --- a/common/src/main/resources/data/forge/tags/items/ingots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": - [ - "#forge:ingots/obsidianingot", - "#forge:ingots/unobtanium_scrap" - ]} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/nuggets.json b/common/src/main/resources/data/forge/tags/items/nuggets.json deleted file mode 100644 index cc1781c8..00000000 --- a/common/src/main/resources/data/forge/tags/items/nuggets.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": - [ - "#forge:nuggets/netherite_shard" - ]} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/items/nuggets/netherite_shard.json b/common/src/main/resources/data/forge/tags/items/nuggets/netherite_shard.json deleted file mode 100644 index 3835eace..00000000 --- a/common/src/main/resources/data/forge/tags/items/nuggets/netherite_shard.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "value" : ["simpeladdmod:netherite_shard"] -} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/block/mineable/shovel.json b/common/src/main/resources/data/minecraft/tags/block/mineable/shovel.json new file mode 100644 index 00000000..ebf70a76 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/block/mineable/shovel.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:simpel_farmland" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/item/axes.json b/common/src/main/resources/data/minecraft/tags/item/axes.json new file mode 100644 index 00000000..db2a4d24 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/item/axes.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:obsidianaxe", + "simpeladdmod:obsidiriteaxe", + "simpeladdmod:unobtainnetheriteaxe", + "simpeladdmod:unobtainobsidiriteaxe" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/item/hoes.json b/common/src/main/resources/data/minecraft/tags/item/hoes.json new file mode 100644 index 00000000..94994850 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/item/hoes.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:obsidianhoe", + "simpeladdmod:obsidiritehoe", + "simpeladdmod:unobtainnetheritehoe", + "simpeladdmod:unobtainobsidiritehoe" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/item/pickaxes.json b/common/src/main/resources/data/minecraft/tags/item/pickaxes.json new file mode 100644 index 00000000..6b2fa795 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/item/pickaxes.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:obsidianpickaxe", + "simpeladdmod:obsidiritepickaxe", + "simpeladdmod:unobtainnetheritepickaxe", + "simpeladdmod:unobtainobsidiritepickaxe" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/item/shovels.json b/common/src/main/resources/data/minecraft/tags/item/shovels.json new file mode 100644 index 00000000..ada39789 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/item/shovels.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:obsidianspade", + "simpeladdmod:obsidiritespade", + "simpeladdmod:unobtainnetheritespade", + "simpeladdmod:unobtainobsidiritespade" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/item/swords.json b/common/src/main/resources/data/minecraft/tags/item/swords.json new file mode 100644 index 00000000..3f0ae121 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/item/swords.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "simpeladdmod:obsidiansword", + "simpeladdmod:obsidiritesword", + "simpeladdmod:unobtainnetheritesword", + "simpeladdmod:unobtainobsidiritesword" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/data/simpeladdmod/forge/tags/chilling.json b/common/src/main/resources/data/simpeladdmod/forge/tags/chilling.json deleted file mode 100644 index adf75667..00000000 --- a/common/src/main/resources/data/simpeladdmod/forge/tags/chilling.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "replace": false, - - "values":[ - "minecraft:snowball", - "minecraft:snow_block", - "minecraft:ice", - "minecraft:packed_ice", - "minecraft:blue_ice" - -] -} \ No newline at end of file diff --git a/common/src/main/resources/data/simpeladdmod/forge/tags/grindable.json b/common/src/main/resources/data/simpeladdmod/forge/tags/grindable.json deleted file mode 100644 index 2b3d3ccd..00000000 --- a/common/src/main/resources/data/simpeladdmod/forge/tags/grindable.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "replace": false, - - "values":[ - "minecraft:raw_copper", - "minecraft:raw_gold", - "minecraft:raw_iron", - "minecraft:blaze_rod", - "minecraft:bone", - "minecraft:ancient_debris", - "minecraft:obsidian", - "simpeladdmod:netherite_shard_raw", - "simpeladdmod:deepslate_debri_ore", - "#minecraft:logs", - "#minecraft:wool", - "#minecraft:iron_ores", - "#minecraft:copper_ores", - "#simpeladdmod:raw_gold_droper" - -] -} \ No newline at end of file diff --git a/common/src/main/resources/data/simpeladdmod/forge/tags/raw_gold_droper.json b/common/src/main/resources/data/simpeladdmod/forge/tags/raw_gold_droper.json deleted file mode 100644 index 0be11181..00000000 --- a/common/src/main/resources/data/simpeladdmod/forge/tags/raw_gold_droper.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "replace": false, - - "values":[ - - "minecraft:gold_ore", - "minecraft:deepslate_gold_ore" - -] -} \ No newline at end of file diff --git a/common/src/main/resources/data/simpeladdmod/recipe/crafting_feeding_gem.json b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_feeding_gem.json similarity index 100% rename from common/src/main/resources/data/simpeladdmod/recipe/crafting_feeding_gem.json rename to common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_feeding_gem.json diff --git a/common/src/main/resources/data/simpeladdmod/recipe/crafting_fireproof_gem.json b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_fireproof_gem.json similarity index 100% rename from common/src/main/resources/data/simpeladdmod/recipe/crafting_fireproof_gem.json rename to common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_fireproof_gem.json diff --git a/common/src/main/resources/data/simpeladdmod/recipe/crafting_grinderhead.json b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_grinderhead.json similarity index 100% rename from common/src/main/resources/data/simpeladdmod/recipe/crafting_grinderhead.json rename to common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_grinderhead.json diff --git a/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_growstaff.json b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_growstaff.json new file mode 100644 index 00000000..b3df48a5 --- /dev/null +++ b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_growstaff.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "key": { + "#": { + "item": "minecraft:blaze_rod" + }, + "X": { + "item": "minecraft:bone" + }, + "N": { + "item": "minecraft:kelp" + } + }, + "pattern": [ + " X", + "N#N", + "X " + ], + "result": { + "id": "simpeladdmod:growstaff" + + } +} \ No newline at end of file diff --git a/common/src/main/resources/data/simpeladdmod/recipe/crafting_repair_gem.json b/common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_repair_gem.json similarity index 100% rename from common/src/main/resources/data/simpeladdmod/recipe/crafting_repair_gem.json rename to common/src/main/resources/data/simpeladdmod/recipe/crafting_tool_repair_gem.json diff --git a/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clayblock_ball.json b/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_ball_get.json similarity index 91% rename from common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clayblock_ball.json rename to common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_ball_get.json index 63531a6a..11985b3d 100644 --- a/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clayblock_ball.json +++ b/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_ball_get.json @@ -3,15 +3,15 @@ "category": "misc", "ingredients": [ { - "item": "minecraft:clay" + "tag": "simpeladdmod:grinders" }, { - "tag": "simpeladdmod:grinders" + "item": "minecraft:clay" } - ], + ], "result": { "id": "minecraft:clay_ball", - "count":5 + "count":6 } } diff --git a/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_get.json b/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_get.json new file mode 100644 index 00000000..29a61857 --- /dev/null +++ b/common/src/main/resources/data/simpeladdmod/recipe/manual_grinding_clay_get.json @@ -0,0 +1,23 @@ +{ + "type": "simpeladdmod:manualgrind", + "category": "misc", + "ingredients": [ + { + "tag": "simpeladdmod:grinders" + }, + { + "item": "minecraft:gravel" + }, + { + "item": "minecraft:sand" + }, + { + "item": "minecraft:water_bucket" + } + ], + "result": + { + "id": "minecraft:clay", + "count":3 + } +} diff --git a/common/src/main/resources/data/simpeladdmod/tags/block/plantablecrops.json b/common/src/main/resources/data/simpeladdmod/tags/block/plantablecrops.json new file mode 100644 index 00000000..f5609a26 --- /dev/null +++ b/common/src/main/resources/data/simpeladdmod/tags/block/plantablecrops.json @@ -0,0 +1,27 @@ +{ + "replace": false, + "values": [ + "minecraft:wheat", + + "minecraft:beetroots", + + "minecraft:carrots", + + "minecraft:potatoes", + + "minecraft:melon_stem", + "minecraft:attached_melon_stem", + + "minecraft:pumpkin_stem", + "minecraft:attached_pumpkin_stem", + + "minecraft:bamboo_sapling", + "minecraft:bamboo", + + "minecraft:sugar_cane", + + "minecraft:cactus", + + "minecraft:nether_wart" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/simpeladdmod.mixins.json b/common/src/main/resources/simpeladdmod.mixins.json index 38fc4999..6bf1c34e 100644 --- a/common/src/main/resources/simpeladdmod.mixins.json +++ b/common/src/main/resources/simpeladdmod.mixins.json @@ -1,19 +1,18 @@ { - "required": true, - "minVersion": "0.8", - "package": "net.x_j0nnay_x.simpeladd.mixin", - "refmap": "${mod_id}.refmap.json", - "compatibilityLevel": "JAVA_21", - "mixins": [ - - ], - "client": [ - "MixinMinecraft" - - ], - "server": [], - "injectors": { - "defaultRequire": 1 - } + "required": true, + "minVersion": "0.8", + "package": "net.x_j0nnay_x.simpeladd.mixin", + "refmap": "${mod_id}.refmap.json", + "compatibilityLevel": "Java_21", + "mixins": [ + "CropBlockMixin", + "NetherWartMixin" + ], + "client": [ + "MixinMinecraft" + ], + "server": [], + "injectors": { + "defaultRequire": 1 + } } - diff --git a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Fabric.java b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Fabric.java new file mode 100644 index 00000000..90727005 --- /dev/null +++ b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Fabric.java @@ -0,0 +1,87 @@ +package net.x_j0nnay_x.simpeladd.compat.jei; + + +import mezz.jei.api.constants.VanillaTypes; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.helpers.IGuiHelper; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import mezz.jei.api.recipe.RecipeType; +import mezz.jei.api.recipe.category.IRecipeCategory; +import net.minecraft.client.Minecraft; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.x_j0nnay_x.simpeladd.SimpelAddMod; +import net.x_j0nnay_x.simpeladd.core.ModItems; +import net.x_j0nnay_x.simpeladd.recipe.GrinderRecipe; +import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.List; + +public class JEI_GrindingCatagory_Fabric implements IRecipeCategory> { + + //this is for arraylist + ItemStack Grinder = ModItems.GRINDERHEAD.getDefaultInstance(); + ItemStack GrinderN = ModItems.GRINDERHEADNEHTERITE.getDefaultInstance(); + ItemStack GrinderU = ModItems.GRINDERHEADUNOBTIANIUM.getDefaultInstance(); + + private final Component title; + private final IDrawable background; + private final IDrawable icon; + + public static final int width = 176; + public static final int height = 78; + + public static final ResourceLocation TEXTURE = ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "textures/screens/grinding_jei.png"); + + public static final RecipeType> GRINDER_RECIPE_RECIPE_TYPE = RecipeType.createFromVanilla(GrinderRecipe.GrinderType.INSTANCE); + + public JEI_GrindingCatagory_Fabric(IGuiHelper helper) { + this.title = Component.translatable("simpeladdmod.jei.grinder"); + this.background = helper.createDrawable(TEXTURE, 0, 0, width, height); + this.icon = helper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(ModItems.GRINDERHEAD)); + } + + @Override + public @NotNull RecipeType> getRecipeType() { + return GRINDER_RECIPE_RECIPE_TYPE; + } + + @Override + public @NotNull Component getTitle() { + return this.title; + } + + @Override + public IDrawable getBackground() { + return this.background; + } + + @Override + public IDrawable getIcon() { + return this.icon; + } + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, RecipeHolder recipe, IFocusGroup focuses) { + List grindersList = new ArrayList<>(); + grindersList.add(Grinder); + grindersList.add(GrinderN); + grindersList.add(GrinderU); + builder.addSlot(RecipeIngredientRole.CATALYST, 79, 17).addItemStacks(grindersList); + builder.addSlot(RecipeIngredientRole.INPUT, 34, 44).addIngredients(recipe.value().getRecipeItems()); + builder.addSlot(RecipeIngredientRole.OUTPUT, 124, 44).addItemStack(recipe.value().getOutput()); + } + + public static List> getAllRecipes() { + var minecraft = Minecraft.getInstance(); + var level = minecraft.level; + assert level != null; + var recipeManager = level.getRecipeManager(); + + return recipeManager.getAllRecipesFor(GrinderRecipe.GrinderType.INSTANCE); + } +} \ No newline at end of file diff --git a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Fabric.java b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Fabric.java index 1a261017..701abf14 100644 --- a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Fabric.java +++ b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Fabric.java @@ -1,31 +1,65 @@ package net.x_j0nnay_x.simpeladd.compat.jei; +import mezz.jei.api.IModPlugin; import mezz.jei.api.JeiPlugin; +import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.registration.IGuiHandlerRegistration; import mezz.jei.api.registration.IRecipeCatalystRegistration; +import mezz.jei.api.registration.IRecipeCategoryRegistration; +import mezz.jei.api.registration.IRecipeRegistration; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.x_j0nnay_x.simpeladd.SimpelAddMod; import net.x_j0nnay_x.simpeladd.core.ModBlockRegFabric; import net.x_j0nnay_x.simpeladd.screens.FabricGrindFactoryScreen; import net.x_j0nnay_x.simpeladd.screens.FabricGrinderScreen; import net.x_j0nnay_x.simpeladd.screens.FabricGrinderScreen_up; +import org.jetbrains.annotations.NotNull; @JeiPlugin -public class JEI_PluginSimpeladd_Fabric extends JEI_PluginSimpeladd_ABST { +public class JEI_PluginSimpeladd_Fabric implements IModPlugin { + @Override + public void registerCategories(IRecipeCategoryRegistration registration) { + IGuiHelper helper = registration.getJeiHelpers().getGuiHelper(); + registration.addRecipeCategories( + new JEI_GrindingCatagory_Fabric(helper) + ); + } + + @Override + public void registerRecipes(IRecipeRegistration registration) { + registration.addRecipes(JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE, JEI_GrindingCatagory_Fabric.getAllRecipes()); + registration.addItemStackInfo(new ItemStack(Items.WATER_BUCKET), Component.translatable("simpeladdmod.jei.waterbucket")); + registration.addItemStackInfo(new ItemStack(Items.LAVA_BUCKET), Component.translatable("simpeladdmod.jei.lavabucket")); + registration.addItemStackInfo(new ItemStack(Items.SNOWBALL), Component.translatable("simpeladdmod.jei.chilling.snowball")); + registration.addItemStackInfo(new ItemStack(Items.SNOW_BLOCK), Component.translatable("simpeladdmod.jei.chilling.snowblock")); + registration.addItemStackInfo(new ItemStack(Items.ICE), Component.translatable("simpeladdmod.jei.chilling.ice")); + registration.addItemStackInfo(new ItemStack(Items.PACKED_ICE), Component.translatable("simpeladdmod.jei.chilling.packedice")); + registration.addItemStackInfo(new ItemStack(Items.BLUE_ICE), Component.translatable("simpeladdmod.jei.chilling.blueice")); + } + + @Override + public @NotNull ResourceLocation getPluginUid() { + return ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "_jei_plugin"); + } @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { - registration.addRecipeCatalyst(ModBlockRegFabric.GRINDER_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegFabric.GRINDER_BLOCK_UP.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegFabric.GRIND_FACTORY_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegFabric.GRINDER_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegFabric.GRINDER_BLOCK_UP.asItem().getDefaultInstance(), JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegFabric.GRIND_FACTORY_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); } @Override public void registerGuiHandlers(IGuiHandlerRegistration registration) { registration.addRecipeClickArea(FabricGrinderScreen.class, 58, 42, 55,23, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(FabricGrinderScreen_up.class, 42, 34, 71,13, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(FabricGrindFactoryScreen.class, 42, 29, 72, 4, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Fabric.GRINDER_RECIPE_RECIPE_TYPE); } diff --git a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegFabric.java b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegFabric.java index 46b075c8..8ee3fb31 100644 --- a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegFabric.java +++ b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegFabric.java @@ -17,6 +17,8 @@ public class ModBlockRegFabric { public static final Block UNOBTANIUM_ORE = registerBlock("unobtanium_ore", ModBlocks.UNOBTANIUM_ORE); + public static final Block SIMPEL_FARM_LAND = registerBlock("simpel_farmland", ModBlocks.SIMPELFARMLAND); + public static final Block BLOCK_FACTORY = registerBlock("blockfactory_block", new FabricBlockFactoryBlock(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque())); diff --git a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabFabric.java b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabFabric.java index 65765b9a..fb224979 100644 --- a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabFabric.java +++ b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabFabric.java @@ -34,6 +34,7 @@ public static void registerTab() entries.accept(ModItemRegFabric.REPAIRTOOL); entries.accept(ModItemRegFabric.FIREPROOFTOOL); entries.accept(ModItemRegFabric.FEEDINGTOOL); + entries.accept(ModItemRegFabric.GROWSTAFF); //items upgrade entries.accept(ModItemRegFabric.SPEEDUPGRADE_1); entries.accept(ModItemRegFabric.SPEEDUPGRADE_2); @@ -115,6 +116,7 @@ public static void registerTab() entries.accept(ModBlockRegFabric.UPGRADED_FURNACE); entries.accept(ModBlockRegFabric.NETHERITE_CRAFTER); entries.accept(ModBlockRegFabric.GRIND_FACTORY_BLOCK); + entries.accept(ModBlockRegFabric.SIMPEL_FARM_LAND); }).build()); } diff --git a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegFabric.java b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegFabric.java index 619aa014..c94110b5 100644 --- a/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegFabric.java +++ b/fabric/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegFabric.java @@ -25,7 +25,8 @@ public class ModItemRegFabric { public static final Item REPAIRTOOL = registerItem("repairtool", ModItems.REPAIRTOOL); public static final Item FIREPROOFTOOL = registerItem("fireprooftool", ModItems.FIREPROOFTOOL); public static final Item FEEDINGTOOL = registerItem("feedingtool", ModItems.FEEDINGTOOL); -//upgrades + public static final Item GROWSTAFF = registerItem("growstaff", ModItems.GROWSTAFF); + //upgrades public static final Item SPEEDUPGRADE_1 = registerItem("speedupgrade_1", ModItems.SPEEDUPGRADE_1); public static final Item SPEEDUPGRADE_2 = registerItem("speedupgrade_2", ModItems.SPEEDUPGRADE_2); public static final Item SPEEDUPGRADE_3 = registerItem("speedupgrade_3", ModItems.SPEEDUPGRADE_3); diff --git a/common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory.java b/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Forge.java similarity index 95% rename from common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory.java rename to forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Forge.java index 67d0b348..62b7164f 100644 --- a/common/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory.java +++ b/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_Forge.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; -public class JEI_GrindingCatagory implements IRecipeCategory> { +public class JEI_GrindingCatagory_Forge implements IRecipeCategory> { //this is for arraylist ItemStack Grinder = ModItems.GRINDERHEAD.getDefaultInstance(); @@ -39,7 +39,7 @@ public class JEI_GrindingCatagory implements IRecipeCategory> GRINDER_RECIPE_RECIPE_TYPE = RecipeType.createFromVanilla(GrinderRecipe.GrinderType.INSTANCE); - public JEI_GrindingCatagory(IGuiHelper helper) { + public JEI_GrindingCatagory_Forge(IGuiHelper helper) { this.title = Component.translatable("simpeladdmod.jei.grinder"); this.background = helper.createDrawable(TEXTURE, 0, 0, width, height); this.icon = helper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(ModItems.GRINDERHEAD)); diff --git a/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Forge.java b/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Forge.java index 8c523e4c..0da04bc4 100644 --- a/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Forge.java +++ b/forge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_Forge.java @@ -1,31 +1,66 @@ package net.x_j0nnay_x.simpeladd.compat.jei; +import mezz.jei.api.IModPlugin; import mezz.jei.api.JeiPlugin; +import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.registration.IGuiHandlerRegistration; import mezz.jei.api.registration.IRecipeCatalystRegistration; +import mezz.jei.api.registration.IRecipeCategoryRegistration; +import mezz.jei.api.registration.IRecipeRegistration; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.x_j0nnay_x.simpeladd.SimpelAddMod; import net.x_j0nnay_x.simpeladd.core.ModBlockRegForge; import net.x_j0nnay_x.simpeladd.screens.ForgeGrindFactoryScreen; import net.x_j0nnay_x.simpeladd.screens.ForgeGrinderScreen; import net.x_j0nnay_x.simpeladd.screens.ForgeGrinderScreen_up; +import org.jetbrains.annotations.NotNull; @JeiPlugin -public class JEI_PluginSimpeladd_Forge extends JEI_PluginSimpeladd_ABST { +public class JEI_PluginSimpeladd_Forge implements IModPlugin { + + @Override + public void registerCategories(IRecipeCategoryRegistration registration) { + IGuiHelper helper = registration.getJeiHelpers().getGuiHelper(); + registration.addRecipeCategories( + new JEI_GrindingCatagory_Forge(helper) + ); + } + + @Override + public void registerRecipes(IRecipeRegistration registration) { + registration.addRecipes(JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE, JEI_GrindingCatagory_Forge.getAllRecipes()); + registration.addItemStackInfo(new ItemStack(Items.WATER_BUCKET), Component.translatable("simpeladdmod.jei.waterbucket")); + registration.addItemStackInfo(new ItemStack(Items.LAVA_BUCKET), Component.translatable("simpeladdmod.jei.lavabucket")); + registration.addItemStackInfo(new ItemStack(Items.SNOWBALL), Component.translatable("simpeladdmod.jei.chilling.snowball")); + registration.addItemStackInfo(new ItemStack(Items.SNOW_BLOCK), Component.translatable("simpeladdmod.jei.chilling.snowblock")); + registration.addItemStackInfo(new ItemStack(Items.ICE), Component.translatable("simpeladdmod.jei.chilling.ice")); + registration.addItemStackInfo(new ItemStack(Items.PACKED_ICE), Component.translatable("simpeladdmod.jei.chilling.packedice")); + registration.addItemStackInfo(new ItemStack(Items.BLUE_ICE), Component.translatable("simpeladdmod.jei.chilling.blueice")); + } + + @Override + public @NotNull ResourceLocation getPluginUid() { + return ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "_jei_plugin"); + } @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { - registration.addRecipeCatalyst(ModBlockRegForge.GRINDER_BLOCK.get().asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegForge.GRINDER_BLOCK_UP.get().asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegForge.GRIND_FACTORY_BLOCK.get().asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegForge.GRINDER_BLOCK.get().asItem().getDefaultInstance(), JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegForge.GRINDER_BLOCK_UP.get().asItem().getDefaultInstance(), JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegForge.GRIND_FACTORY_BLOCK.get().asItem().getDefaultInstance(), JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); } @Override public void registerGuiHandlers(IGuiHandlerRegistration registration) { registration.addRecipeClickArea(ForgeGrinderScreen.class, 58, 42, 55,23, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(ForgeGrinderScreen_up.class, 42, 34, 71,13, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(ForgeGrindFactoryScreen.class, 42, 29, 72, 4, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_Forge.GRINDER_RECIPE_RECIPE_TYPE); } } diff --git a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegForge.java b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegForge.java index 1aa24d32..e14cdecd 100644 --- a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegForge.java +++ b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegForge.java @@ -22,6 +22,8 @@ public class ModBlockRegForge { public static final RegistryObject UNOBTANIUM_ORE = registerBlock("unobtanium_ore",() -> ModBlocks.UNOBTANIUM_ORE); + public static final RegistryObject SIMPEL_FARM_LAND = registerBlock("simpel_farmland",() -> ModBlocks.SIMPELFARMLAND); + public static final RegistryObject BLOCK_FACTORY = registerBlock("blockfactory_block", () -> new ForgeBlockFactoryBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STONE).noOcclusion().requiresCorrectToolForDrops())); diff --git a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabForge.java b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabForge.java index ef0877bc..57194705 100644 --- a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabForge.java +++ b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabForge.java @@ -16,103 +16,105 @@ public class ModCreativeTabForge { public static final RegistryObject SIMPEL_TAB = CREATIVE_MODE_TABS.register("simpel_tab", () -> CreativeModeTab.builder().icon(() -> new ItemStack(ModItemRegForge.GRINDERHEAD.get())) .title(Component.translatable("creativetab.simpel_tab")) - .displayItems((pParameters, pOutput) -> { + .displayItems((pParameters, entries) -> { //items grind heads - pOutput.accept(ModItemRegForge.GRINDERHEAD.get()); - pOutput.accept(ModItemRegForge.GRINDERHEADNEHTERITE.get()); - pOutput.accept(ModItemRegForge.GRINDERHEADUNOBTIANIUM.get()); + entries.accept(ModItemRegForge.GRINDERHEAD.get()); + entries.accept(ModItemRegForge.GRINDERHEADNEHTERITE.get()); + entries.accept(ModItemRegForge.GRINDERHEADUNOBTIANIUM.get()); //items random - pOutput.accept(ModItemRegForge.WOODFIBER.get()); - pOutput.accept(ModItemRegForge.FLESH.get()); - pOutput.accept(ModItemRegForge.NEHTERITE_SHARD.get()); - pOutput.accept(ModItemRegForge.NEHTERITE_SHARD_RAW.get()); - pOutput.accept(ModItemRegForge.OBSIDAININGOT.get()); - pOutput.accept(ModItemRegForge.UNOBTIANIUMSCRAP.get()); - pOutput.accept(ModItemRegForge.REPAIRTOOL.get()); - pOutput.accept(ModItemRegForge.FEEDINGTOOL.get()); - pOutput.accept(ModItemRegForge.FIREPROOFTOOL.get()); + entries.accept(ModItemRegForge.WOODFIBER.get()); + entries.accept(ModItemRegForge.FLESH.get()); + entries.accept(ModItemRegForge.NEHTERITE_SHARD.get()); + entries.accept(ModItemRegForge.NEHTERITE_SHARD_RAW.get()); + entries.accept(ModItemRegForge.OBSIDAININGOT.get()); + entries.accept(ModItemRegForge.UNOBTIANIUMSCRAP.get()); + entries.accept(ModItemRegForge.REPAIRTOOL.get()); + entries.accept(ModItemRegForge.FEEDINGTOOL.get()); + entries.accept(ModItemRegForge.FIREPROOFTOOL.get()); + entries.accept(ModItemRegForge.GROWSTAFF.get()); //items upgrade - pOutput.accept(ModItemRegForge.SPEEDUPGRADE_1.get()); - pOutput.accept(ModItemRegForge.SPEEDUPGRADE_2.get()); - pOutput.accept(ModItemRegForge.SPEEDUPGRADE_3.get()); - pOutput.accept(ModItemRegForge.BOOSTUPGRADE.get()); - pOutput.accept(ModItemRegForge.XPBOOSTUPGRADE.get()); + entries.accept(ModItemRegForge.SPEEDUPGRADE_1.get()); + entries.accept(ModItemRegForge.SPEEDUPGRADE_2.get()); + entries.accept(ModItemRegForge.SPEEDUPGRADE_3.get()); + entries.accept(ModItemRegForge.BOOSTUPGRADE.get()); + entries.accept(ModItemRegForge.XPBOOSTUPGRADE.get()); //items sandwich - pOutput.accept(ModItemRegForge.SANDWICH_MUT.get()); - pOutput.accept(ModItemRegForge.SANDWICH_BEEF.get()); - pOutput.accept(ModItemRegForge.SANDWICH_PORK.get()); - pOutput.accept(ModItemRegForge.SANDWICH_CHECKIN.get()); - pOutput.accept(ModItemRegForge.SANDWICH_VEG.get()); - pOutput.accept(ModItemRegForge.SANDWICH_MEET_LOVE.get()); - pOutput.accept(ModItemRegForge.SANDWICH_MEET_LOVE_VEG.get()); + entries.accept(ModItemRegForge.SANDWICH_MUT.get()); + entries.accept(ModItemRegForge.SANDWICH_BEEF.get()); + entries.accept(ModItemRegForge.SANDWICH_PORK.get()); + entries.accept(ModItemRegForge.SANDWICH_CHECKIN.get()); + entries.accept(ModItemRegForge.SANDWICH_VEG.get()); + entries.accept(ModItemRegForge.SANDWICH_MEET_LOVE.get()); + entries.accept(ModItemRegForge.SANDWICH_MEET_LOVE_VEG.get()); //items template - pOutput.accept(ModItemRegForge.BLANKUPGRADE.get()); - pOutput.accept(ModItemRegForge.BLANKUPGRADE_RAW.get()); - pOutput.accept(ModItemRegForge.OBSIDIANUPGRADE_SMITHING.get()); - pOutput.accept(ModItemRegForge.UNOBTANIUMUPGRADE_SMITHING.get()); + entries.accept(ModItemRegForge.BLANKUPGRADE.get()); + entries.accept(ModItemRegForge.BLANKUPGRADE_RAW.get()); + entries.accept(ModItemRegForge.OBSIDIANUPGRADE_SMITHING.get()); + entries.accept(ModItemRegForge.UNOBTANIUMUPGRADE_SMITHING.get()); //items dust - pOutput.accept(ModItemRegForge.GOLDDUST.get()); - pOutput.accept(ModItemRegForge.IRONDUST.get()); - pOutput.accept(ModItemRegForge.COPPERDUST.get()); - pOutput.accept(ModItemRegForge.NETHERITEDUST.get()); - pOutput.accept(ModItemRegForge.NEHTERITE_SHARD_DUST.get()); - pOutput.accept(ModItemRegForge.OBSIDAINDUST.get()); - pOutput.accept(ModItemRegForge.UNOBTIANIUMDUST.get()); + entries.accept(ModItemRegForge.GOLDDUST.get()); + entries.accept(ModItemRegForge.IRONDUST.get()); + entries.accept(ModItemRegForge.COPPERDUST.get()); + entries.accept(ModItemRegForge.NETHERITEDUST.get()); + entries.accept(ModItemRegForge.NEHTERITE_SHARD_DUST.get()); + entries.accept(ModItemRegForge.OBSIDAINDUST.get()); + entries.accept(ModItemRegForge.UNOBTIANIUMDUST.get()); //items elytra - pOutput.accept(ModItemRegForge.SIMPEL_ELITRA_HALF.get()); - pOutput.accept(ModItemRegForge.SIMPEL_ELITRA_PART1.get()); - pOutput.accept(ModItemRegForge.SIMPEL_ELITRA_PART2.get()); + entries.accept(ModItemRegForge.SIMPEL_ELITRA_HALF.get()); + entries.accept(ModItemRegForge.SIMPEL_ELITRA_PART1.get()); + entries.accept(ModItemRegForge.SIMPEL_ELITRA_PART2.get()); //items obsidian tire - pOutput.accept(ModItemRegForge.OBSIDAINAXE.get()); - pOutput.accept(ModItemRegForge.OBSIDIANHOE.get()); - pOutput.accept(ModItemRegForge.OBSIDIANSWORD.get()); - pOutput.accept(ModItemRegForge.OBSIDIANPICKAXE.get()); - pOutput.accept(ModItemRegForge.OBSIDIANSPADE.get()); - pOutput.accept(ModItemRegForge.OBSIDIANHELMET.get()); - pOutput.accept(ModItemRegForge.OBSIDIANCHEST.get()); - pOutput.accept(ModItemRegForge.OBSIDIANLEGS.get()); - pOutput.accept(ModItemRegForge.OBSIDIANBOOTS.get()); + entries.accept(ModItemRegForge.OBSIDAINAXE.get()); + entries.accept(ModItemRegForge.OBSIDIANHOE.get()); + entries.accept(ModItemRegForge.OBSIDIANSWORD.get()); + entries.accept(ModItemRegForge.OBSIDIANPICKAXE.get()); + entries.accept(ModItemRegForge.OBSIDIANSPADE.get()); + entries.accept(ModItemRegForge.OBSIDIANHELMET.get()); + entries.accept(ModItemRegForge.OBSIDIANCHEST.get()); + entries.accept(ModItemRegForge.OBSIDIANLEGS.get()); + entries.accept(ModItemRegForge.OBSIDIANBOOTS.get()); //items Obsidirite tire - pOutput.accept(ModItemRegForge.OBSIDIRITEAXE.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITEHOE.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITESWORD.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITEPICKAXE.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITESPADE.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITEHELMET.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITECHEST.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITELEGS.get()); - pOutput.accept(ModItemRegForge.OBSIDIRITEBOOTS.get()); + entries.accept(ModItemRegForge.OBSIDIRITEAXE.get()); + entries.accept(ModItemRegForge.OBSIDIRITEHOE.get()); + entries.accept(ModItemRegForge.OBSIDIRITESWORD.get()); + entries.accept(ModItemRegForge.OBSIDIRITEPICKAXE.get()); + entries.accept(ModItemRegForge.OBSIDIRITESPADE.get()); + entries.accept(ModItemRegForge.OBSIDIRITEHELMET.get()); + entries.accept(ModItemRegForge.OBSIDIRITECHEST.get()); + entries.accept(ModItemRegForge.OBSIDIRITELEGS.get()); + entries.accept(ModItemRegForge.OBSIDIRITEBOOTS.get()); //items Unobtiannetherite tire - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITEAXE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITEHOE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITESWORD.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITEPICKAXE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITESPADE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITEHELMET.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITECHEST.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITELEGS.get()); - pOutput.accept(ModItemRegForge.UNOBTIANNETHERITEBOOTS.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITEAXE.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITEHOE.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITESWORD.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITEPICKAXE.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITESPADE.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITEHELMET.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITECHEST.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITELEGS.get()); + entries.accept(ModItemRegForge.UNOBTIANNETHERITEBOOTS.get()); //items UnObtianObsidirtie tire - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITEAXE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITEHOE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITESWORD.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITEPICKAXE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITESPADE.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITEHELMET.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITECHEST.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITELEGS.get()); - pOutput.accept(ModItemRegForge.UNOBTIANOBSIDIRITEBOOTS.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITEAXE.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITEHOE.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITESWORD.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITEPICKAXE.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITESPADE.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITEHELMET.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITECHEST.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITELEGS.get()); + entries.accept(ModItemRegForge.UNOBTIANOBSIDIRITEBOOTS.get()); //blocks - pOutput.accept(ModBlockRegForge.DEEPSLATE_DEBRI_ORE.get()); - pOutput.accept(ModBlockRegForge.UNOBTANIUM_ORE.get()); - pOutput.accept(ModBlockRegForge.GRINDER_BLOCK.get()); - pOutput.accept(ModBlockRegForge.GRINDER_BLOCK_UP.get()); - pOutput.accept(ModBlockRegForge.BLOCK_FACTORY.get()); - pOutput.accept(ModBlockRegForge.CHILLER.get()); - pOutput.accept(ModBlockRegForge.NETHERITE_CRAFTER.get()); - pOutput.accept(ModBlockRegForge.UPGRADED_FURNACE.get()); - pOutput.accept(ModBlockRegForge.GRIND_FACTORY_BLOCK.get()); + entries.accept(ModBlockRegForge.DEEPSLATE_DEBRI_ORE.get()); + entries.accept(ModBlockRegForge.UNOBTANIUM_ORE.get()); + entries.accept(ModBlockRegForge.GRINDER_BLOCK.get()); + entries.accept(ModBlockRegForge.GRINDER_BLOCK_UP.get()); + entries.accept(ModBlockRegForge.BLOCK_FACTORY.get()); + entries.accept(ModBlockRegForge.CHILLER.get()); + entries.accept(ModBlockRegForge.NETHERITE_CRAFTER.get()); + entries.accept(ModBlockRegForge.UPGRADED_FURNACE.get()); + entries.accept(ModBlockRegForge.GRIND_FACTORY_BLOCK.get()); + entries.accept(ModBlockRegForge.SIMPEL_FARM_LAND.get()); }).build()); public static void register(IEventBus eventBus) { diff --git a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegForge.java b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegForge.java index 7d1f13c9..bd9cbd64 100644 --- a/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegForge.java +++ b/forge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegForge.java @@ -29,6 +29,7 @@ public class ModItemRegForge { public static final RegistryObject REPAIRTOOL = ITEMS.register("repairtool", ()-> ModItems.REPAIRTOOL); public static final RegistryObject FIREPROOFTOOL = ITEMS.register("fireprooftool", ()-> ModItems.FIREPROOFTOOL); public static final RegistryObject FEEDINGTOOL = ITEMS.register("feedingtool", ()-> ModItems.FEEDINGTOOL); + public static final RegistryObject GROWSTAFF = ITEMS.register("growstaff", ()-> ModItems.GROWSTAFF); //upgrades public static final RegistryObject SPEEDUPGRADE_1 = ITEMS.register("speedupgrade_1", () -> ModItems.SPEEDUPGRADE_1); public static final RegistryObject SPEEDUPGRADE_2 = ITEMS.register("speedupgrade_2", () -> ModItems.SPEEDUPGRADE_2); diff --git a/forge/src/main/resources/simpeladdmod.forge.mixins.json b/forge/src/main/resources/simpeladdmod.forge.mixins.json index 695a6f4b..04211374 100644 --- a/forge/src/main/resources/simpeladdmod.forge.mixins.json +++ b/forge/src/main/resources/simpeladdmod.forge.mixins.json @@ -3,7 +3,7 @@ "minVersion": "0.8", "package": "net.x_j0nnay_x.simpeladd.mixin", "refmap": "${mod_id}.refmap.json", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "mixins": [ ], "client": [ diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_NeoForge.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_NeoForge.java new file mode 100644 index 00000000..e7a1c951 --- /dev/null +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_GrindingCatagory_NeoForge.java @@ -0,0 +1,87 @@ +package net.x_j0nnay_x.simpeladd.compat.jei; + + +import mezz.jei.api.constants.VanillaTypes; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.helpers.IGuiHelper; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import mezz.jei.api.recipe.RecipeType; +import mezz.jei.api.recipe.category.IRecipeCategory; +import net.minecraft.client.Minecraft; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.x_j0nnay_x.simpeladd.SimpelAddMod; +import net.x_j0nnay_x.simpeladd.core.ModItems; +import net.x_j0nnay_x.simpeladd.recipe.GrinderRecipe; +import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.List; + +public class JEI_GrindingCatagory_NeoForge implements IRecipeCategory> { + + //this is for arraylist + ItemStack Grinder = ModItems.GRINDERHEAD.getDefaultInstance(); + ItemStack GrinderN = ModItems.GRINDERHEADNEHTERITE.getDefaultInstance(); + ItemStack GrinderU = ModItems.GRINDERHEADUNOBTIANIUM.getDefaultInstance(); + + private final Component title; + private final IDrawable background; + private final IDrawable icon; + + public static final int width = 176; + public static final int height = 78; + + public static final ResourceLocation TEXTURE = ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "textures/screens/grinding_jei.png"); + + public static final RecipeType> GRINDER_RECIPE_RECIPE_TYPE = RecipeType.createFromVanilla(GrinderRecipe.GrinderType.INSTANCE); + + public JEI_GrindingCatagory_NeoForge(IGuiHelper helper) { + this.title = Component.translatable("simpeladdmod.jei.grinder"); + this.background = helper.createDrawable(TEXTURE, 0, 0, width, height); + this.icon = helper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(ModItems.GRINDERHEAD)); + } + + @Override + public @NotNull RecipeType> getRecipeType() { + return GRINDER_RECIPE_RECIPE_TYPE; + } + + @Override + public @NotNull Component getTitle() { + return this.title; + } + + @Override + public IDrawable getBackground() { + return this.background; + } + + @Override + public IDrawable getIcon() { + return this.icon; + } + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, RecipeHolder recipe, IFocusGroup focuses) { + List grindersList = new ArrayList<>(); + grindersList.add(Grinder); + grindersList.add(GrinderN); + grindersList.add(GrinderU); + builder.addSlot(RecipeIngredientRole.CATALYST, 79, 17).addItemStacks(grindersList); + builder.addSlot(RecipeIngredientRole.INPUT, 34, 44).addIngredients(recipe.value().getRecipeItems()); + builder.addSlot(RecipeIngredientRole.OUTPUT, 124, 44).addItemStack(recipe.value().getOutput()); + } + + public static List> getAllRecipes() { + var minecraft = Minecraft.getInstance(); + var level = minecraft.level; + assert level != null; + var recipeManager = level.getRecipeManager(); + + return recipeManager.getAllRecipesFor(GrinderRecipe.GrinderType.INSTANCE); + } +} \ No newline at end of file diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_NeoForge.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_NeoForge.java index db0be7c3..e03e1621 100644 --- a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_NeoForge.java +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/compat/jei/JEI_PluginSimpeladd_NeoForge.java @@ -1,32 +1,68 @@ package net.x_j0nnay_x.simpeladd.compat.jei; +import mezz.jei.api.IModPlugin; import mezz.jei.api.JeiPlugin; +import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.registration.IGuiHandlerRegistration; import mezz.jei.api.registration.IRecipeCatalystRegistration; +import mezz.jei.api.registration.IRecipeCategoryRegistration; +import mezz.jei.api.registration.IRecipeRegistration; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.x_j0nnay_x.simpeladd.SimpelAddMod; import net.x_j0nnay_x.simpeladd.core.ModBlockRegNeoForge; import net.x_j0nnay_x.simpeladd.screens.NeoForgeGrindFactoryScreen; import net.x_j0nnay_x.simpeladd.screens.NeoForgeGrinderScreen; import net.x_j0nnay_x.simpeladd.screens.NeoForgeGrinderScreen_up; +import org.jetbrains.annotations.NotNull; @JeiPlugin -public class JEI_PluginSimpeladd_NeoForge extends JEI_PluginSimpeladd_ABST { +public class JEI_PluginSimpeladd_NeoForge implements IModPlugin { + + @Override + public void registerCategories(IRecipeCategoryRegistration registration) { + IGuiHelper helper = registration.getJeiHelpers().getGuiHelper(); + registration.addRecipeCategories( + new JEI_GrindingCatagory_NeoForge(helper) + ); + } + + @Override + public void registerRecipes(IRecipeRegistration registration) { + registration.addRecipes(JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE, JEI_GrindingCatagory_NeoForge.getAllRecipes()); + registration.addItemStackInfo(new ItemStack(Items.WATER_BUCKET), Component.translatable("simpeladdmod.jei.waterbucket")); + registration.addItemStackInfo(new ItemStack(Items.LAVA_BUCKET), Component.translatable("simpeladdmod.jei.lavabucket")); + registration.addItemStackInfo(new ItemStack(Items.SNOWBALL), Component.translatable("simpeladdmod.jei.chilling.snowball")); + registration.addItemStackInfo(new ItemStack(Items.SNOW_BLOCK), Component.translatable("simpeladdmod.jei.chilling.snowblock")); + registration.addItemStackInfo(new ItemStack(Items.ICE), Component.translatable("simpeladdmod.jei.chilling.ice")); + registration.addItemStackInfo(new ItemStack(Items.PACKED_ICE), Component.translatable("simpeladdmod.jei.chilling.packedice")); + registration.addItemStackInfo(new ItemStack(Items.BLUE_ICE), Component.translatable("simpeladdmod.jei.chilling.blueice")); + } + + @Override + public @NotNull ResourceLocation getPluginUid() { + return ResourceLocation.fromNamespaceAndPath(SimpelAddMod.MOD_ID, "_jei_plugin"); + } @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { - registration.addRecipeCatalyst(ModBlockRegNeoForge.GRINDER_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegNeoForge.GRINDER_BLOCK_UP.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); - registration.addRecipeCatalyst(ModBlockRegNeoForge.GRIND_FACTORY_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegNeoForge.GRINDER_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegNeoForge.GRINDER_BLOCK_UP.asItem().getDefaultInstance(), JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); + registration.addRecipeCatalyst(ModBlockRegNeoForge.GRIND_FACTORY_BLOCK.asItem().getDefaultInstance(), JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); } @Override public void registerGuiHandlers(IGuiHandlerRegistration registration) { registration.addRecipeClickArea(NeoForgeGrinderScreen.class, 58, 42, 55,23, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(NeoForgeGrinderScreen_up.class, 42, 34, 71,13, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); registration.addRecipeClickArea(NeoForgeGrindFactoryScreen.class, 42, 29, 72, 4, - JEI_GrindingCatagory.GRINDER_RECIPE_RECIPE_TYPE); + JEI_GrindingCatagory_NeoForge.GRINDER_RECIPE_RECIPE_TYPE); } + } diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegNeoForge.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegNeoForge.java index ba2e5fe6..12a66a27 100644 --- a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegNeoForge.java +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModBlockRegNeoForge.java @@ -21,6 +21,8 @@ public class ModBlockRegNeoForge { public static final DeferredBlock UNOBTANIUM_ORE = registerBlock("unobtanium_ore",() -> ModBlocks.UNOBTANIUM_ORE); + public static final DeferredBlock SIMPEL_FARM_LAND = registerBlock("simpel_farmland",() -> ModBlocks.SIMPELFARMLAND); + public static final DeferredBlock BLOCK_FACTORY = registerBlock("blockfactory_block", () -> new NeoForgeBlockFactoryBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.STONE).noOcclusion().requiresCorrectToolForDrops())); diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabNeoForge.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabNeoForge.java index a74e4958..f76043a5 100644 --- a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabNeoForge.java +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModCreativeTabNeoForge.java @@ -16,102 +16,104 @@ public class ModCreativeTabNeoForge { public static final Supplier SIMPEL_TAB = CREATIVE_MODE_TABS.register("simpel_tab", () -> CreativeModeTab.builder().icon(() -> new ItemStack(ModItemRegNeoForge.GRINDERHEAD.get())) .title(Component.translatable("creativetab.simpel_tab")) - .displayItems((pParameters, pOutput) -> { + .displayItems((pParameters, entries) -> { //items grind head - pOutput.accept(ModItemRegNeoForge.GRINDERHEAD.get()); - pOutput.accept(ModItemRegNeoForge.GRINDERHEADNEHTERITE.get()); - pOutput.accept(ModItemRegNeoForge.GRINDERHEADUNOBTIANIUM.get()); + entries.accept(ModItemRegNeoForge.GRINDERHEAD.get()); + entries.accept(ModItemRegNeoForge.GRINDERHEADNEHTERITE.get()); + entries.accept(ModItemRegNeoForge.GRINDERHEADUNOBTIANIUM.get()); //items random - pOutput.accept(ModItemRegNeoForge.WOODFIBER.get()); - pOutput.accept(ModItemRegNeoForge.FLESH.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDAININGOT.get()); - pOutput.accept(ModItemRegNeoForge.NEHTERITE_SHARD.get()); - pOutput.accept(ModItemRegNeoForge.NEHTERITE_SHARD_RAW.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANIUMSCRAP.get()); - pOutput.accept(ModItemRegNeoForge.REPAIRTOOL.get()); - pOutput.accept(ModItemRegNeoForge.FIREPROOFTOOL.get()); - pOutput.accept(ModItemRegNeoForge.FEEDINGTOOL.get()); + entries.accept(ModItemRegNeoForge.WOODFIBER.get()); + entries.accept(ModItemRegNeoForge.FLESH.get()); + entries.accept(ModItemRegNeoForge.OBSIDAININGOT.get()); + entries.accept(ModItemRegNeoForge.NEHTERITE_SHARD.get()); + entries.accept(ModItemRegNeoForge.NEHTERITE_SHARD_RAW.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANIUMSCRAP.get()); + entries.accept(ModItemRegNeoForge.REPAIRTOOL.get()); + entries.accept(ModItemRegNeoForge.FIREPROOFTOOL.get()); + entries.accept(ModItemRegNeoForge.FEEDINGTOOL.get()); + entries.accept(ModItemRegNeoForge.GROWSTAFF.get()); //items upgrade - pOutput.accept(ModItemRegNeoForge.SPEEDUPGRADE_1.get()); - pOutput.accept(ModItemRegNeoForge.SPEEDUPGRADE_2.get()); - pOutput.accept(ModItemRegNeoForge.SPEEDUPGRADE_3.get()); - pOutput.accept(ModItemRegNeoForge.BOOSTUPGRADE.get()); - pOutput.accept(ModItemRegNeoForge.XPBOOSTUPGRADE.get()); + entries.accept(ModItemRegNeoForge.SPEEDUPGRADE_1.get()); + entries.accept(ModItemRegNeoForge.SPEEDUPGRADE_2.get()); + entries.accept(ModItemRegNeoForge.SPEEDUPGRADE_3.get()); + entries.accept(ModItemRegNeoForge.BOOSTUPGRADE.get()); + entries.accept(ModItemRegNeoForge.XPBOOSTUPGRADE.get()); //items sandwich - pOutput.accept(ModItemRegNeoForge.SANDWICH_MUT.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_BEEF.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_PORK.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_CHECKIN.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_VEG.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_MEET_LOVE.get()); - pOutput.accept(ModItemRegNeoForge.SANDWICH_MEET_LOVE_VEG.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_MUT.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_BEEF.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_PORK.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_CHECKIN.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_VEG.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_MEET_LOVE.get()); + entries.accept(ModItemRegNeoForge.SANDWICH_MEET_LOVE_VEG.get()); //items templates - pOutput.accept(ModItemRegNeoForge.BLANKUPGRADE.get()); - pOutput.accept(ModItemRegNeoForge.BLANKUPGRADE_RAW.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANUPGRADE_SMITHING.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTANIUMUPGRADE_SMITHING.get()); + entries.accept(ModItemRegNeoForge.BLANKUPGRADE.get()); + entries.accept(ModItemRegNeoForge.BLANKUPGRADE_RAW.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANUPGRADE_SMITHING.get()); + entries.accept(ModItemRegNeoForge.UNOBTANIUMUPGRADE_SMITHING.get()); //items dust - pOutput.accept(ModItemRegNeoForge.GOLDDUST.get()); - pOutput.accept(ModItemRegNeoForge.IRONDUST.get()); - pOutput.accept(ModItemRegNeoForge.COPPERDUST.get()); - pOutput.accept(ModItemRegNeoForge.NETHERITEDUST.get()); - pOutput.accept(ModItemRegNeoForge.NEHTERITE_SHARD_DUST.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDAINDUST.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANIUMDUST.get()); + entries.accept(ModItemRegNeoForge.GOLDDUST.get()); + entries.accept(ModItemRegNeoForge.IRONDUST.get()); + entries.accept(ModItemRegNeoForge.COPPERDUST.get()); + entries.accept(ModItemRegNeoForge.NETHERITEDUST.get()); + entries.accept(ModItemRegNeoForge.NEHTERITE_SHARD_DUST.get()); + entries.accept(ModItemRegNeoForge.OBSIDAINDUST.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANIUMDUST.get()); //items elytra - pOutput.accept(ModItemRegNeoForge.SIMPEL_ELITRA_HALF.get()); - pOutput.accept(ModItemRegNeoForge.SIMPEL_ELITRA_PART1.get()); - pOutput.accept(ModItemRegNeoForge.SIMPEL_ELITRA_PART2.get()); + entries.accept(ModItemRegNeoForge.SIMPEL_ELITRA_HALF.get()); + entries.accept(ModItemRegNeoForge.SIMPEL_ELITRA_PART1.get()); + entries.accept(ModItemRegNeoForge.SIMPEL_ELITRA_PART2.get()); //items obsidian tire - pOutput.accept(ModItemRegNeoForge.OBSIDAINAXE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANHOE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANSWORD.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANPICKAXE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANSPADE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANHELMET.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANCHEST.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANLEGS.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIANBOOTS.get()); + entries.accept(ModItemRegNeoForge.OBSIDAINAXE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANHOE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANSWORD.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANPICKAXE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANSPADE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANHELMET.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANCHEST.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANLEGS.get()); + entries.accept(ModItemRegNeoForge.OBSIDIANBOOTS.get()); //items Obsidirite tire - pOutput.accept(ModItemRegNeoForge.OBSIDIRITEAXE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITEHOE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITESWORD.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITEPICKAXE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITESPADE.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITEHELMET.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITECHEST.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITELEGS.get()); - pOutput.accept(ModItemRegNeoForge.OBSIDIRITEBOOTS.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITEAXE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITEHOE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITESWORD.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITEPICKAXE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITESPADE.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITEHELMET.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITECHEST.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITELEGS.get()); + entries.accept(ModItemRegNeoForge.OBSIDIRITEBOOTS.get()); //items Unobtiannetherite tire - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITEAXE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITEHOE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITESWORD.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITEPICKAXE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITESPADE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITEHELMET.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITECHEST.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITELEGS.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANNETHERITEBOOTS.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITEAXE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITEHOE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITESWORD.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITEPICKAXE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITESPADE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITEHELMET.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITECHEST.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITELEGS.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANNETHERITEBOOTS.get()); //items UnObtianObsidirtie tire - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEAXE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEHOE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITESWORD.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEPICKAXE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITESPADE.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEHELMET.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITECHEST.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITELEGS.get()); - pOutput.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEBOOTS.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEAXE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEHOE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITESWORD.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEPICKAXE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITESPADE.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEHELMET.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITECHEST.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITELEGS.get()); + entries.accept(ModItemRegNeoForge.UNOBTIANOBSIDIRITEBOOTS.get()); //block - pOutput.accept(ModBlockRegNeoForge.DEEPSLATE_DEBRI_ORE.get()); - pOutput.accept(ModBlockRegNeoForge.UNOBTANIUM_ORE.get()); - pOutput.accept(ModBlockRegNeoForge.GRINDER_BLOCK.get()); - pOutput.accept(ModBlockRegNeoForge.GRINDER_BLOCK_UP.get()); - pOutput.accept(ModBlockRegNeoForge.BLOCK_FACTORY.get()); - pOutput.accept(ModBlockRegNeoForge.CHILLER.get()); - pOutput.accept(ModBlockRegNeoForge.NETHERITE_CRAFTER.get()); - pOutput.accept(ModBlockRegNeoForge.UPGRADED_FURNACE.get()); - pOutput.accept(ModBlockRegNeoForge.GRIND_FACTORY_BLOCK.get()); + entries.accept(ModBlockRegNeoForge.DEEPSLATE_DEBRI_ORE.get()); + entries.accept(ModBlockRegNeoForge.UNOBTANIUM_ORE.get()); + entries.accept(ModBlockRegNeoForge.GRINDER_BLOCK.get()); + entries.accept(ModBlockRegNeoForge.GRINDER_BLOCK_UP.get()); + entries.accept(ModBlockRegNeoForge.BLOCK_FACTORY.get()); + entries.accept(ModBlockRegNeoForge.CHILLER.get()); + entries.accept(ModBlockRegNeoForge.NETHERITE_CRAFTER.get()); + entries.accept(ModBlockRegNeoForge.UPGRADED_FURNACE.get()); + entries.accept(ModBlockRegNeoForge.GRIND_FACTORY_BLOCK.get()); + entries.accept(ModBlockRegNeoForge.SIMPEL_FARM_LAND.get()); }).build()); public static void register(IEventBus eventBus) { diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegNeoForge.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegNeoForge.java index 2ca2206d..87e7f90e 100644 --- a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegNeoForge.java +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/core/ModItemRegNeoForge.java @@ -28,6 +28,7 @@ public class ModItemRegNeoForge { public static final Supplier REPAIRTOOL = ITEMS.register("repairtool", ()-> ModItems.REPAIRTOOL); public static final Supplier FIREPROOFTOOL = ITEMS.register("fireprooftool", ()-> ModItems.FIREPROOFTOOL); public static final Supplier FEEDINGTOOL = ITEMS.register("feedingtool", ()-> ModItems.FEEDINGTOOL); + public static final Supplier GROWSTAFF = ITEMS.register("growstaff", ()-> ModItems.GROWSTAFF); //upgrades public static final Supplier SPEEDUPGRADE_1 = ITEMS.register("speedupgrade_1", () -> ModItems.SPEEDUPGRADE_1); public static final Supplier SPEEDUPGRADE_2 = ITEMS.register("speedupgrade_2", () -> ModItems.SPEEDUPGRADE_2); diff --git a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/mixin/MixinTitleScreen.java b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/mixin/MixinTitleScreen.java index db201ebd..2cfabf89 100644 --- a/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/mixin/MixinTitleScreen.java +++ b/neoforge/src/main/java/net/x_j0nnay_x/simpeladd/mixin/MixinTitleScreen.java @@ -1,8 +1,7 @@ package net.x_j0nnay_x.simpeladd.mixin; -import net.minecraft.client.Minecraft; + import net.minecraft.client.gui.screens.TitleScreen; -import net.x_j0nnay_x.simpeladd.SimpelAddMod; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/neoforge/src/main/resources/simpeladdmod.neoforge.mixins.json b/neoforge/src/main/resources/simpeladdmod.neoforge.mixins.json index 339e3144..592139de 100644 --- a/neoforge/src/main/resources/simpeladdmod.neoforge.mixins.json +++ b/neoforge/src/main/resources/simpeladdmod.neoforge.mixins.json @@ -3,7 +3,8 @@ "minVersion": "0.8", "package": "net.x_j0nnay_x.simpeladd.mixin", "compatibilityLevel": "JAVA_21", - "mixins": [], + "mixins": [ + ], "client": [ "MixinTitleScreen" ],