diff --git a/.gradle/8.2.1/checksums/checksums.lock b/.gradle/8.2.1/checksums/checksums.lock index 3d69a43..0c497c8 100644 Binary files a/.gradle/8.2.1/checksums/checksums.lock and b/.gradle/8.2.1/checksums/checksums.lock differ diff --git a/.gradle/8.2.1/fileHashes/fileHashes.lock b/.gradle/8.2.1/fileHashes/fileHashes.lock index 4cff302..746ccf7 100644 Binary files a/.gradle/8.2.1/fileHashes/fileHashes.lock and b/.gradle/8.2.1/fileHashes/fileHashes.lock differ diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index cffe077..295605f 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -431,10 +431,10 @@ public class CinderLoE { // Food // onion = new ItemSeedFood(3, 0.3f, CinderLoE.onionCrop, Blocks.farmland).setUnlocalizedName("lotr:onion").setTextureName("lotr:onion"); //cabbage = new ItemSeedFood(3, 0.3f, CinderLoE.cabbageCrop, Blocks.farmland).setUnlocalizedName("lotr:cabbage").setTextureName("lotr:cabbage");; - spice = new CinderItemFood(1, 0.0f, false).setdamageAmount(2).setPotionEffect(Potion.moveSpeed.id, 10,0,100).setUnlocalizedName("lotr:spice").setTextureName("lotr:spice"); - spicedHam = new CinderItemFood(9, 0.6f, true).setdamageAmount(2).setPotionEffect(Potion.moveSpeed.id, 60, 0, 100).setUnlocalizedName("lotr:spicedHam").setTextureName("lotr:spicedHam"); + spice = new CinderItemFood(1, 0.0f, false).setdamageAmount(2).setPotionEffect(Potion.moveSpeed.id, 5,0,100).setUnlocalizedName("lotr:spice").setTextureName("lotr:spice"); + spicedHam = new CinderItemFood(9, 0.6f, true).setdamageAmount(2).setPotionEffect(Potion.moveSpeed.id, 15, 0, 100).setUnlocalizedName("lotr:spicedHam").setTextureName("lotr:spicedHam"); // spice = new LOTRItemFood(1, 0.0f, false).setPotionEffect(Potion.moveSpeed.id, 10,0,100).setUnlocalizedName("lotr:spice"); - pelmen = new LOTRItemFood(4, 3.0f, true).setUnlocalizedName("lotr:pelmen").setTextureName("lotr:pelmen"); + pelmen = new LOTRItemFood(4, 5.0f, true).setUnlocalizedName("lotr:pelmen").setTextureName("lotr:pelmen"); onion = new LOTRItemFood(3, 0.3f, false).setUnlocalizedName("lotr:onion").setTextureName("lotr:onion"); cabbage = new LOTRItemFood(4, 0.5f, false).setUnlocalizedName("lotr:cabbage").setTextureName("lotr:cabbage"); lightStew = new LOTRItemStew(6, 0.7f, false).setPotionEffect(Potion.damageBoost.id, 60, 0, 100).setUnlocalizedName("lotr:lightStew").setTextureName("lotr:lightStew"); diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRTileEntityForgeBase.java b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRTileEntityForgeBase.java new file mode 100644 index 0000000..a337b4e --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRTileEntityForgeBase.java @@ -0,0 +1,36 @@ +package com.zivilon.cinder_loe.mixins; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRMod; +import lotr.common.tileentity.LOTRTileEntityAlloyForgeBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Unique; + +@Mixin(LOTRTileEntityAlloyForgeBase.class) +public abstract class MixinLOTRTileEntityForgeBase { + @Unique + protected boolean cinderLoE_Git$isMithril(ItemStack itemstack) { + return itemstack.getItem() == Item.getItemFromBlock(LOTRMod.oreMithril) || itemstack.getItem() == LOTRMod.mithril; + } + + @Unique + protected boolean cinderLoE_Git$isCoalBlock(ItemStack itemstack) { + return itemstack.getItem() == Item.getItemFromBlock(Blocks.coal_block); + } + + /** + * @author Keylime + * @reason IDE demands it + */ + @Overwrite(remap = false) + protected ItemStack getAlloySmeltingResult(ItemStack itemstack, ItemStack alloyItem) { + if (this.cinderLoE_Git$isMithril(itemstack) && this.cinderLoE_Git$isCoalBlock(alloyItem)) + return new ItemStack(CinderLoE.ingotAsh, 1); + return null; + } +} + diff --git a/src/main/java/com/zivilon/cinder_loe/recipes.java b/src/main/java/com/zivilon/cinder_loe/recipes.java index 09ccea0..4b68eb1 100644 --- a/src/main/java/com/zivilon/cinder_loe/recipes.java +++ b/src/main/java/com/zivilon/cinder_loe/recipes.java @@ -1,15 +1,21 @@ package com.zivilon.cinder_loe; import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.item.LOTRItemFood; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import lotr.common.LOTRMod; import lotr.common.recipe.LOTRRecipes; import lotr.common.recipe.LOTRRecipePoisonWeapon; +import net.minecraftforge.oredict.ShapelessOreRecipe; public class recipes { @@ -22,7 +28,49 @@ public class recipes { registerBreeRecipes(); registerArnorRecipes(); } + + public static void registerGeneralRecipes() { + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.bowAsh), new Object[] { " XS", "X S", " XS", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('S'), "string" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.spearAsh), new Object[] { " X", " Y ", "Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.swordAsh), new Object[] { " X ", " X ", " Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.battleaxeAsh), new Object[] { "XXX", "XYX", " Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.pikeAsh), new Object[] { " X", " YX", "Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.hammerAsh), new Object[] { "XYX", "XYX", " Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.daggerAsh), new Object[] { "X ", "Y ", + Character.valueOf('X'), CinderLoE.ingotAsh, Character.valueOf('Y'), "stickWood" })); + + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(CinderLoE.spicedHam), CinderLoE.spice, Items.cooked_porkchop)); + + OreDictionary.registerOre("vegetable1", CinderLoE.onion); + OreDictionary.registerOre("vegetable1", LOTRMod.leek); + OreDictionary.registerOre("vegetable2", CinderLoE.cabbage); + OreDictionary.registerOre("vegetable2", LOTRMod.lettuce); + OreDictionary.registerOre("vegetable3", Items.carrot); + OreDictionary.registerOre("vegetable3", Items.potato); + OreDictionary.registerOre("vegetable3", LOTRMod.turnip); + + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(CinderLoE.lightStew), Items.bowl, "vegetable1", "vegetable2", "vegetable3")); + + OreDictionary.registerOre("meat", Items.cooked_beef); + OreDictionary.registerOre("meat", Items.cooked_chicken); + OreDictionary.registerOre("meat", Items.cooked_porkchop); + OreDictionary.registerOre("meat", LOTRMod.camelCooked); + OreDictionary.registerOre("meat", LOTRMod.deerCooked); + OreDictionary.registerOre("meat", LOTRMod.muttonCooked); + OreDictionary.registerOre("meat", LOTRMod.lionCooked); + OreDictionary.registerOre("meat", LOTRMod.rhinoCooked); + OreDictionary.registerOre("meat", LOTRMod.rabbitCooked); + OreDictionary.registerOre("meat", LOTRMod.zebraCooked); + + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(CinderLoE.pelmen), Items.wheat, "meat", LOTRMod.salt)); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.cinderBlock), new Object[] { "XXX", "XYX", "XXX", Character.valueOf('X'), Blocks.stone, Character.valueOf('Y'), LOTRMod.balrogFire })); GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.reedBale), new Object[] { "XXX", "XXX", "XXX", @@ -49,6 +97,9 @@ public class recipes { Character.valueOf('X'), CinderLoE.cutDrystone})); GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.reeflessCoral, 1), new Object[] { "X", Character.valueOf('X'), LOTRMod.coralReef})); + GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.plaster, 4), new Object[] { "XYX", "YXY", "XYX", + Character.valueOf('X'), Items.paper, Character.valueOf('Y'), Blocks.clay })); + } public static void registerRedDwarvenRecipes() { LOTRRecipes.dwarvenRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.helmetRedDwarf), new Object[] { "XXX", "X X", @@ -92,6 +143,15 @@ public class recipes { } public static void registerLimwaithRecipes() { + + OreDictionary.registerOre("bone", Items.bone); + OreDictionary.registerOre("bone", LOTRMod.elfBone); + OreDictionary.registerOre("bone", LOTRMod.dwarfBone); + OreDictionary.registerOre("bone", LOTRMod.hobbitBone); + OreDictionary.registerOre("bone", LOTRMod.orcBone); + OreDictionary.registerOre("bone", LOTRMod.trollBone); + OreDictionary.registerOre("bone", LOTRMod.wargBone); + LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.helmetLimwaith), new Object[] { "XXX", "Y Y", Character.valueOf('X'), LOTRMod.driedReeds, Character.valueOf('Y'), new ItemStack(LOTRMod.planks, 1, 15)})); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.bodyLimwaith), new Object[] { "X X", "YYY", "XXX", @@ -101,21 +161,33 @@ public class recipes { LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.bootsLimwaith), new Object[] { "Y Y", "X X", Character.valueOf('X'), LOTRMod.driedReeds, Character.valueOf('Y'), new ItemStack(LOTRMod.planks, 1, 15)})); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.spearLimwaith), new Object[] { " X", " Y ", "Y ", - Character.valueOf('X'), Items.bone, Character.valueOf('Y'), "stickWood" })); + Character.valueOf('X'), "bone", Character.valueOf('Y'), "stickWood" })); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.truncheonLimwaith), new Object[] { " X ", " X ", " Y ", - Character.valueOf('X'), Items.bone, Character.valueOf('Y'), "stickWood" })); + Character.valueOf('X'), "bone", Character.valueOf('Y'), "stickWood" })); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.battleaxeLimwaith), new Object[] { "XXX", "XYX", " Y ", - Character.valueOf('X'), Items.bone, Character.valueOf('Y'), "stickWood" })); + Character.valueOf('X'), "bone", Character.valueOf('Y'), "stickWood" })); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.tridentLimwaith), new Object[] { " XX", " YX", "Y ", - Character.valueOf('X'), Items.bone, Character.valueOf('Y'), "stickWood" })); + Character.valueOf('X'), "bone", Character.valueOf('Y'), "stickWood" })); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.daggerLimwaith), new Object[] { "X ", "Y ", - Character.valueOf('X'), Items.bone, Character.valueOf('Y'), "stickWood" })); + Character.valueOf('X'), "bone", Character.valueOf('Y'), "stickWood" })); LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.blowgunLimwaith), new Object[] { "YXX", " ", " ", Character.valueOf('X'), LOTRMod.reeds, Character.valueOf('Y'), "stickWood" })); GameRegistry.addRecipe(new LOTRRecipePoisonWeapon(CinderLoE.daggerLimwaith, CinderLoE.daggerLimwaithPoisoned)); + LOTRRecipes.moredainRecipes.add(new ShapelessOreRecipe(new ItemStack(CinderLoE.bonemold), new Object[] {"bone", new ItemStack(Items.dye, 1, 15), new ItemStack(Items.dye, 1, 15)})); + + LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.helmetboneLimwaith), new Object[] { "XXX", "Y Y", + Character.valueOf('X'), "bone", Character.valueOf('Y'), CinderLoE.bonemold})); + LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.bodyboneLimwaith), new Object[] { "X X", "YYY", "XXX", + Character.valueOf('X'), "bone", Character.valueOf('Y'), CinderLoE.bonemold})); + LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.legsboneLimwaith), new Object[] { "XXX", "Y Y", "X X", + Character.valueOf('X'), "bone", Character.valueOf('Y'), CinderLoE.bonemold})); + LOTRRecipes.moredainRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.bootsboneLimwaith), new Object[] { "Y Y", "X X", + Character.valueOf('X'), "bone", Character.valueOf('Y'), CinderLoE.bonemold})); } public static void registerBreeRecipes() { + LOTRRecipes.breeRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.helmetBreeKettle), new Object[] { "XYX", + Character.valueOf('X'), Items.iron_ingot, Character.valueOf('Y'), CinderLoE.helmetBree})); LOTRRecipes.breeRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.helmetBree), new Object[] { "XXX", "X X", Character.valueOf('X'), Items.iron_ingot})); LOTRRecipes.breeRecipes.add(new ShapedOreRecipe(new ItemStack(CinderLoE.bodyBree), new Object[] { "X X", "XXX", "XXX", diff --git a/src/main/resources/mixins.cinder_loe.json b/src/main/resources/mixins.cinder_loe.json index c277d0a..97c97a2 100644 --- a/src/main/resources/mixins.cinder_loe.json +++ b/src/main/resources/mixins.cinder_loe.json @@ -6,30 +6,31 @@ "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_8", "mixins": [ - "MixinLOTRTileEntityDwarvenForge", - "MixinLOTRIntCache", - "MixinLOTRWorldGenMumakSkeleton", "MixinItemRenderer", - "MixinRenderItem", + "MixinLOTRArmorModels", "MixinLOTRClientProxy", "MixinLOTRContainerAnvil", - "MixinLOTRArmorModels", - "MixinLOTRRenderElvenBlade", - "MixinLOTRRenderLargeItem", - "MixinLOTRRenderCrossbow", - "MixinLOTRRenderThrowingAxe", - "MixinLOTRRenderPlateFood", + "MixinLOTREntitySauron", + "MixinLOTRIntCache", + "MixinLOTRNPCRendering", + "MixinLOTRRenderArmorStand", "MixinLOTRRenderBlownItem", "MixinLOTRRenderBow", - "MixinLOTRRenderElf", - "MixinLOTRNPCRendering", + "MixinLOTRRenderCrossbow", "MixinLOTRRenderDart", - "MixinLOTRRenderTraderRespawn", + "MixinLOTRRenderElf", + "MixinLOTRRenderElvenBlade", + "MixinLOTRRenderLargeItem", "MixinLOTRRenderNPCRespawner", + "MixinLOTRRenderPlateFood", + "MixinLOTRRenderThrowingAxe", + "MixinLOTRRenderTraderRespawn", + "MixinLOTRTileEntityDwarvenForge", + "MixinLOTRTileEntityForgeBase", + "MixinLOTRTradeEntries", + "MixinLOTRWorldGenMumakSkeleton", "MixinRendererLivingEntity", - "MixinLOTRRenderArmorStand", - "MixinLOTREntitySauron", - "MixinLOTRTradeEntries" + "MixinRenderItem" ], "client": [] }