From 3f5c833fa515903771a0d239a795d2dd60bf1d22 Mon Sep 17 00:00:00 2001 From: Jared Date: Tue, 22 Oct 2019 09:56:09 +0200 Subject: [PATCH 1/7] BlameJared maven should use https and subdomain While this isn't an issue right now, if I ever need to move the maven folder, or need to direct the subdomain to a different server, this will be an issue. http -> https is just an upgrade --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2a2c25e..215fdf0 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,7 @@ minecraft { repositories { maven { url 'http://dvs1.progwml6.com/files/maven' } - maven { url "http://blamejared.com/maven" } + maven { url "https://maven.blamejared.com" } maven { url "http://www.ryanliptak.com/maven/" } maven { url "http://maven.amadornes.com/" } } From 0a91969ae27f81aa0455d881441933ae7d8dc59a Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Mon, 6 Jul 2020 23:57:02 -0500 Subject: [PATCH 2/7] Add multiple outputs for infuser transmutation P.1 --- .../recipes/infuser/TransmutationRecipe.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java index 0d82ab7..418d912 100644 --- a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java +++ b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java @@ -1,15 +1,35 @@ package betterwithaddons.crafting.recipes.infuser; import betterwithaddons.crafting.recipes.SmeltingRecipe; +import java.util.Arrays; +import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; public class TransmutationRecipe extends SmeltingRecipe { private int requiredSpirit; + private Random random = new Random(); + private ItemStack[] possibleOutputs; public TransmutationRecipe(Ingredient input, int requiredSpirit, ItemStack output) { - super(input, output); + this(input, requiredSpirit, new ItemStack[]{output}); + } + + public TransmutationRecipe(Ingredient input, int requiredSpirit, ItemStack[] outputs) { + super(input, outputs.length == 1 ? outputs[0] : ItemStack.EMPTY); this.requiredSpirit = requiredSpirit; + this.possibleOutputs = outputs; + } + + @Override + public ItemStack getOutput(ItemStack input) { + int i = random.nextInt(possibleOutputs.length); + return possibleOutputs[i]; + } + + @Override + public List getRecipeOutputs() { + return Arrays.asList(possibleOutputs); } public int getRequiredSpirit(ItemStack input) { @@ -21,6 +41,9 @@ public int getRequiredSpirit(ItemStack input) { public boolean matchesInput(ItemStack item, int spirits) { if(spirits < requiredSpirit) return false; + + if (Arrays.asList(possibleOutputs).stream().map(ItemStack::getItem).anyMatch((itemStack) -> itemStack == item)) + return false; return matchesInput(item); } From b3e4abb0ae2ef3406ee050deffe14e4aaa2cbee7 Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Tue, 7 Jul 2020 11:56:11 -0500 Subject: [PATCH 3/7] Add multiple outputs to transmutation P.2 --- .../CraftingManagerInfuserTransmutation.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/betterwithaddons/crafting/manager/CraftingManagerInfuserTransmutation.java b/src/main/java/betterwithaddons/crafting/manager/CraftingManagerInfuserTransmutation.java index fc9f0b0..a098f20 100644 --- a/src/main/java/betterwithaddons/crafting/manager/CraftingManagerInfuserTransmutation.java +++ b/src/main/java/betterwithaddons/crafting/manager/CraftingManagerInfuserTransmutation.java @@ -6,6 +6,7 @@ import javax.annotation.Nonnull; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -30,6 +31,10 @@ public void addRecipe(TransmutationRecipe recipe) public void addRecipe(Ingredient input, int spirits, ItemStack output) { this.recipes.add(createRecipe(input, spirits, output)); } + + public void addRecipe(Ingredient input, int spirits, ItemStack[] outputs) { + this.recipes.add(createRecipe(input, spirits, outputs)); + } public void removeRecipe(TransmutationRecipe recipe) { this.recipes.remove(recipe); @@ -41,11 +46,16 @@ public void clearRecipes() { protected TransmutationRecipe createRecipe(Ingredient input, int spirits, ItemStack output) { - return new TransmutationRecipe(input, spirits, output); + return createRecipe(input, spirits, new ItemStack[]{output}); + } + + protected TransmutationRecipe createRecipe(Ingredient input, int spirits, ItemStack[] outputs) + { + return new TransmutationRecipe(input, spirits, outputs); } public List findRecipeForRemoval(@Nonnull ItemStack output) { - return recipes.stream().filter(recipe -> recipe.output.isItemEqual(output)).collect(Collectors.toList()); + return recipes.stream().filter(recipe -> recipe.getRecipeOutputs().contains(output)).collect(Collectors.toList()); } public TransmutationRecipe getSmeltingRecipe(ItemStack input, int spirits) { From 121378642f12e60b6d46e4ad6e180170ca87b172 Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Tue, 7 Jul 2020 13:05:27 -0500 Subject: [PATCH 4/7] Add multiple outputs to transmutation P.3 --- .../interaction/InteractionEriottoMod.java | 54 +------------------ 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/src/main/java/betterwithaddons/interaction/InteractionEriottoMod.java b/src/main/java/betterwithaddons/interaction/InteractionEriottoMod.java index b619e56..12de7a1 100644 --- a/src/main/java/betterwithaddons/interaction/InteractionEriottoMod.java +++ b/src/main/java/betterwithaddons/interaction/InteractionEriottoMod.java @@ -244,59 +244,9 @@ public ItemStack getPlank(int count) { CraftingManagerInfuser.getInstance().addRecipe(new ShapedOreRecipe(new ResourceLocation(Reference.MOD_ID,"nabe"),new ItemStack(ModBlocks.NABE, 1), "i i", "i i", "lhl", 'i', "ingotIron", 'l', "ingotTamahagane", 'h', "ingotHochoTetsu"),1); //Random seeds - CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(new OreIngredient("seed"), 1, ItemStack.EMPTY) { - Random random = new Random(); - - @Override - public ItemStack getOutput(ItemStack input) { - int i = random.nextInt(3); - switch(i) - { - case(0):return new ItemStack(ModBlocks.RICE); - case(1):return new ItemStack(ModBlocks.RUSH); - case(2):return new ItemStack(ModBlocks.TEA); - default:return ItemStack.EMPTY; - } - } - - @Override - public boolean matchesInput(ItemStack item) { - if (item.getItem() == Item.getItemFromBlock(ModBlocks.RICE) || item.getItem() == Item.getItemFromBlock(ModBlocks.RUSH) || item.getItem() == Item.getItemFromBlock(ModBlocks.TEA)) - return false; - - return super.matchesInput(item); - } - - @Override - public List getRecipeOutputs() { - return Lists.newArrayList(new ItemStack(ModBlocks.RICE), new ItemStack(ModBlocks.RUSH), new ItemStack(ModBlocks.TEA)); - } - }); + CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(new OreIngredient("seed"), 1, new ItemStack[]{new ItemStack(ModBlocks.RICE), new ItemStack(ModBlocks.RUSH), new ItemStack(ModBlocks.TEA)})); //Random saplings - CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(new OreIngredient("treeSapling"), 1, ItemStack.EMPTY) { - Random random = new Random(); - - @Override - public ItemStack getOutput(ItemStack input) { - if (random.nextInt(2) == 0) - return new ItemStack(ModBlocks.SAKURA_SAPLING); - else - return new ItemStack(ModBlocks.MULBERRY_SAPLING); - } - - @Override - public boolean matchesInput(ItemStack item) { - if (item.getItem() == Item.getItemFromBlock(ModBlocks.SAKURA_SAPLING) || item.getItem() == Item.getItemFromBlock(ModBlocks.MULBERRY_SAPLING)) - return false; - - return super.matchesInput(item); - } - - @Override - public List getRecipeOutputs() { - return Lists.newArrayList(new ItemStack(ModBlocks.SAKURA_SAPLING), new ItemStack(ModBlocks.MULBERRY_SAPLING)); - } - }); + CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(new OreIngredient("treeSapling"), 1, new ItemStack[]{new ItemStack(ModBlocks.SAKURA_SAPLING), new ItemStack(ModBlocks.MULBERRY_SAPLING)})); //Bamboo CraftingManagerInfuserTransmutation.getInstance().addRecipe(new OreIngredient("sugarcane"), 1, new ItemStack(ModBlocks.BAMBOO)); //Repair tools and armor From 6aefcc291b9bd2fe2e2cc21c99de4f1eaf41d18c Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Tue, 7 Jul 2020 13:24:52 -0500 Subject: [PATCH 5/7] Add multiple outputs for transmutation P.4 --- .../interaction/minetweaker/Infuser.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/betterwithaddons/interaction/minetweaker/Infuser.java b/src/main/java/betterwithaddons/interaction/minetweaker/Infuser.java index d4291f7..e262331 100644 --- a/src/main/java/betterwithaddons/interaction/minetweaker/Infuser.java +++ b/src/main/java/betterwithaddons/interaction/minetweaker/Infuser.java @@ -17,6 +17,7 @@ import crafttweaker.mc1120.recipes.MCRecipeManager; import crafttweaker.mc1120.recipes.MCRecipeShaped; import crafttweaker.mc1120.recipes.MCRecipeShapeless; +import java.util.Arrays; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import stanhebben.zenscript.annotations.Optional; @@ -49,6 +50,11 @@ public static void addShapeless(IItemStack output, IIngredient[] ingredients, in public static void addTransmutation(IItemStack output, IIngredient input, int spirits) { CraftTweaker.LATE_ACTIONS.add(new AddTransmutation(CraftTweakerMC.getItemStack(output), new IngredientCraftTweaker(input), spirits)); } + + @ZenMethod + public static void addTransmutation(IItemStack[] outputs, IIngredient input, int spirits) { + CraftTweaker.LATE_ACTIONS.add(new AddTransmutation(Arrays.asList(outputs).stream().map(CraftTweakerMC::getItemStack).toArray(ItemStack[]::new), new IngredientCraftTweaker(input), spirits)); + } @ZenMethod public static void removeAll() { @@ -122,25 +128,34 @@ public AddShaped(IItemStack output, IIngredient[][] ingredients, int spirits, IR } private static class AddTransmutation implements IAction { - protected ItemStack output; + protected ItemStack[] possibleOutputs; protected Ingredient input; protected int requiredSpirits; public AddTransmutation(ItemStack output, Ingredient input, int spirits) { - this.output = output; + this(new ItemStack[]{output}, input, spirits); + } + + public AddTransmutation(ItemStack[] outputs, Ingredient input, int spirits) + { + this.possibleOutputs = outputs; this.input = input; this.requiredSpirits = spirits; } @Override public void apply() { - CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(input,requiredSpirits,output)); + CraftingManagerInfuserTransmutation.getInstance().addRecipe(new TransmutationRecipe(input, requiredSpirits, possibleOutputs)); } @Override public String describe() { - return "Adding ancestral infuser transmutation for "+output.getDisplayName(); + StringBuilder sb = new StringBuilder("Adding ancestral infuser transmutation for"); + for (ItemStack i : possibleOutputs) { + sb.append(" " + i.getDisplayName()); + } + return sb.toString(); } } From 2203fc8a4cfe6360431ccbfef97feebdfd30c5f1 Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Tue, 7 Jul 2020 13:35:11 -0500 Subject: [PATCH 6/7] Whoops forgot import --- .../crafting/recipes/infuser/TransmutationRecipe.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java index 418d912..d8c721b 100644 --- a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java +++ b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java @@ -2,6 +2,7 @@ import betterwithaddons.crafting.recipes.SmeltingRecipe; import java.util.Arrays; +import java.util.List; import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; From 47c981d5d07c422e2fcd3cb2b8174789d5f9c8be Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Tue, 7 Jul 2020 13:56:29 -0500 Subject: [PATCH 7/7] Whoops again --- .../crafting/recipes/infuser/TransmutationRecipe.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java index d8c721b..e9184ae 100644 --- a/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java +++ b/src/main/java/betterwithaddons/crafting/recipes/infuser/TransmutationRecipe.java @@ -43,7 +43,7 @@ public boolean matchesInput(ItemStack item, int spirits) { if(spirits < requiredSpirit) return false; - if (Arrays.asList(possibleOutputs).stream().map(ItemStack::getItem).anyMatch((itemStack) -> itemStack == item)) + if (Arrays.asList(possibleOutputs).stream().map(ItemStack::getItem).anyMatch((itemStack) -> itemStack == item.getItem())) return false; return matchesInput(item);