diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..210d27f7 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,31 @@ +Code of Merit ( https://github.com/rosarior/Code-of-Merit ) + +The project creators, lead developers, core team, constitute the managing members of the project and have final say in every decision of the project, technical or otherwise, including overruling previous decisions. There are no limitations to this decisional power. + +Contributions are an expected result of your membership on the project. Don't expect others to do your work or help you with your work forever. + +All members have the same opportunities to seek any challenge they want within the project. + +Authority or position in the project will be proportional to the accrued contribution. Seniority must be earned. + +Software is evolutive: the better implementations must supersede lesser implementations. Technical advantage is the primary evaluation metric. + +This is a space for technical prowess; topics outside of the project will not be tolerated. + +Non technical conflicts will be discussed in a separate space. Disruption of the project will not be allowed. + +Individual characteristics, including but not limited to, body, sex, sexual preference, race, language, religion, nationality, or political preferences are irrelevant in the scope of the project and will not be taken into account concerning your value or that of your contribution to the project. + +Discuss or debate the idea, not the person. + +There is no room for ambiguity: Ambiguity will be met with questioning; further ambiguity will be met with silence. It is the responsibility of the originator to provide requested context. + +If something is illegal outside the scope of the project, it is illegal in the scope of the project. This Code of Merit does not take precedence over governing law. + +This Code of Merit governs the technical procedures of the project not the activities outside of it. + +Participation on the project equates to agreement of this Code of Merit. + +No objectives beyond the stated objectives of this project are relevant to the project. Any intent to deviate the project from its original purpose of existence will constitute grounds for remedial action which may include expulsion from the project. + +This document is the Code of Merit (http://code-of-merit.org), version 1.0. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000..e69de29b diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..861598eb --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,16 @@ +Minecraft version & Mod Version: + + +Single player or Server: + + +Describe problem (what you were doing / what happened): + + +Crash log (if any): + + +(If this is a suggestion and not a bug report, delete all this and just write your suggestion!) + + + diff --git a/.gitignore b/.gitignore index dfc4cc4d..b7ed8045 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ crash-reports/ *.launch *.lnk *.jks + +\.idea/ +classes/ +*.iml diff --git a/build.gradle b/build.gradle index 2d32960e..2da21cf6 100644 --- a/build.gradle +++ b/build.gradle @@ -26,11 +26,23 @@ minecraft { makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } -dependencies { - +repositories { + maven { // JEI & Tinkers + name 'DVS1 Maven FS' + url 'http://dvs1.progwml6.com/files/maven' + } + maven { // CraftTweaker (aka MineTweaker3), Immersive Engineering + name 'jared maven' + url "http://blamejared.com/maven" + } +} +dependencies { + compileOnly "mezz.jei:jei_1.12.2:4.11.+" + compileOnly "CraftTweaker2:CraftTweaker2-API:4.1.9.+" } + processResources { // this will ensure that this task is redone when the versions change. diff --git a/dist.bat b/dist.bat new file mode 100644 index 00000000..74bf513b --- /dev/null +++ b/dist.bat @@ -0,0 +1,4 @@ + +cp -R build/libs/. c:/users/sam/desktop + +cp -R build/libs/. C:/Users/Sam/Documents/Curse/Minecraft/Instances/irnBRU/mods diff --git a/gradle.properties b/gradle.properties index b1f393de..d1071158 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx3G forge_version=14.23.1.2594 mc_version=1.12.2 -mod_version=1.0.3 +mod_version=1.1.2 diff --git a/scripts_zen_example/rituals.zs b/scripts_zen_example/rituals.zs index 74cacc68..26aa8b03 100644 --- a/scripts_zen_example/rituals.zs +++ b/scripts_zen_example/rituals.zs @@ -4,5 +4,35 @@ import mods.rootsclassic.Ritual; Ritual.setRitualIngredients("livingSwordCrafting", [,]); Ritual.setRitualIncense("livingSwordCrafting", [,]); +//unique name, recipe output, level +// r,g,b colours +// incense list, ingredient list +//level zero means no standing stones, only Altar+Brazier +Ritual.addCraftingRitual("simple", , 0, + 51,51,255, + [,], [,] ); +//level 1 means the +Ritual.addCraftingRitual("test1", , 1, + 255,255,0, + [,], [,, ] ); + +//level 2 is the biggest ritual with the Attuned stones +Ritual.addCraftingRitual("test2", , 2, + 255,0,0, + [,], [,, ] ); + + // other examples + Ritual.setPrimaryColor("test2",255,0,0); + Ritual.setSecondaryColor("igniterStoneCrafting",255,0,100); + + //change level for the standing stone requirements + Ritual.setLevel("igniterStoneCrafting",0); + + + + + + + \ No newline at end of file diff --git a/src/main/java/elucent/rootsclassic/RegistryManager.java b/src/main/java/elucent/rootsclassic/RegistryManager.java index 8e657298..f06c89a7 100644 --- a/src/main/java/elucent/rootsclassic/RegistryManager.java +++ b/src/main/java/elucent/rootsclassic/RegistryManager.java @@ -210,7 +210,6 @@ public static void init() { registerItem(jungleTreeBark = new ItemRootsBasic(), "jungletreebark"); registerItem(acaciaTreeBark = new ItemRootsBasic(), "acaciatreebark"); registerItem(darkOakTreeBark = new ItemRootsBasic(), "darkoaktreebark"); - registerItem(livingPickaxe = new ItemLivingPickaxe(), "livingpickaxe"); registerItem(livingAxe = new ItemLivingAxe(), "livingaxe"); registerItem(livingSword = new ItemLivingSword(), "livingsword"); @@ -233,11 +232,13 @@ public static void init() { registerItem(whiteCurrant = new ItemRootsFood(4, 0.4F, false), "whitecurrant"); registerItem(elderBerry = new ItemRootsFood(2, 0.1F, false), "elderberry"); registerItem(healingPoultice = new ItemRootsFood(0, 0F, false).setAlwaysEdible().setMaxStackSize(8), "healingpoultice"); - registerItem(rootyStew = new ItemBowlFood(7, 5.0F), "rootystew");//7 means 3.5 nuggets (steak gives 4) 1 is saturation - registerItem(fruitSalad = new ItemBowlFood(8, 14.0F), "fruitsalad"); + float cookedBeefSat = 0.8F; + registerItem(rootyStew = new ItemBowlFood(7, 0.2F + cookedBeefSat), "rootystew");//7 means 3.5 nuggets (steak gives 4) 1 is saturation + registerItem(fruitSalad = new ItemBowlFood(8, 0.1F + cookedBeefSat), "fruitsalad"); registerItem(runicFocus = new ItemRunicFocus(), "runicfocus"); registerItem(engravedSword = new ItemEngravedSword(), "engravedsword"); registerItem(manaResearchIcon = new ItemRootsBasic(), "manaresearchicon"); + Item apple; /** * REGISTERING BLOCKS */ diff --git a/src/main/java/elucent/rootsclassic/Util.java b/src/main/java/elucent/rootsclassic/Util.java index 24aaf6c2..41591c35 100644 --- a/src/main/java/elucent/rootsclassic/Util.java +++ b/src/main/java/elucent/rootsclassic/Util.java @@ -19,7 +19,6 @@ public class Util { public static Random random = new Random(); public static ArrayList berries = new ArrayList(); - public static double randomDouble(double min, double max) { double range = max - min; double scale = random.nextDouble() * range; diff --git a/src/main/java/elucent/rootsclassic/block/altar/TileEntityAltar.java b/src/main/java/elucent/rootsclassic/block/altar/TileEntityAltar.java index a4d60d04..4493a7dc 100644 --- a/src/main/java/elucent/rootsclassic/block/altar/TileEntityAltar.java +++ b/src/main/java/elucent/rootsclassic/block/altar/TileEntityAltar.java @@ -69,7 +69,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound tag) { NBTTagList list = new NBTTagList(); for (int i = 0; i < getInventory().size(); i++) { // if (getInventory().get(i) != null) { - list.appendTag(getInventory().get(i).writeToNBT(new NBTTagCompound())); + list.appendTag(getInventory().get(i).writeToNBT(new NBTTagCompound())); // } } tag.setTag("inventory", list); @@ -79,7 +79,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound tag) { for (int i = 0; i < getIncenses().size(); i++) { // ; // if (getIncenses().get(i) != null) { - list.appendTag(getIncenses().get(i).writeToNBT(new NBTTagCompound())); + list.appendTag(getIncenses().get(i).writeToNBT(new NBTTagCompound())); // } } tag.setTag("incenses", list); @@ -136,13 +136,12 @@ else if (player.isSneaking() && heldItem.isEmpty() && this.getProgress() == 0) { setRitualName(ritual.getName()); Roots.logger.info("found " + ritual.getName()); setIncenses(RitualManager.getIncenses(world, getPos())); - setProgress(RECIPE_PROGRESS_TIME); for (TileEntityBrazier brazier : ritual.getRecipeBraziers(world, pos)) { brazier.setBurning(true); brazier.setHeldItem(ItemStack.EMPTY); } -// this.emptyNearbyBraziers(); + // this.emptyNearbyBraziers(); // System.out.println(" ritual STARTED " + ritual.name); markDirty(); this.getWorld().notifyBlockUpdate(getPos(), state, world.getBlockState(pos), 3); @@ -238,12 +237,9 @@ public void update() { // } if (getProgress() == 0 && getRitualCurrent() != null) { Roots.logger.info("RITUAL has completed " + getRitualCurrent().getName()); - getRitualCurrent().doEffect(getWorld(), getPos(), getInventory(), getIncenses()); - setRitualName(null); setRitualCurrent(null); - markDirty(); this.getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(getPos()), getWorld().getBlockState(getPos()), 3); } @@ -256,7 +252,6 @@ public void update() { // brazier.setBurning(false); // } // } - public ArrayList getInventory() { return inventory; } diff --git a/src/main/java/elucent/rootsclassic/block/brazier/TileEntityBrazier.java b/src/main/java/elucent/rootsclassic/block/brazier/TileEntityBrazier.java index 5078a629..1fce8b78 100644 --- a/src/main/java/elucent/rootsclassic/block/brazier/TileEntityBrazier.java +++ b/src/main/java/elucent/rootsclassic/block/brazier/TileEntityBrazier.java @@ -79,13 +79,11 @@ private void notifyUpdate(IBlockState state) { @Override public boolean activate(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack playerItem, EnumFacing side, float hitX, float hitY, float hitZ) { if (playerItem.isEmpty()) { - if (!getHeldItem().isEmpty() && !isBurning()) { if (player.isSneaking()) { Roots.statusMessage(player, getHeldItem().getDisplayName()); } else { - dropContaining(state); notifyUpdate(state); Roots.statusMessage(player, "brazier.burning.empty"); @@ -96,18 +94,15 @@ else if (isBurning()) { if (player.isSneaking()) { Roots.statusMessage(player, "brazier.burning.off"); stopBurning(); - // heldItem = ItemStack.EMPTY; notifyUpdate(state); return true; } } - } else if (playerItem.getItem() == Items.FLINT_AND_STEEL) { if (!getHeldItem().isEmpty()) { startBurning(); Roots.statusMessage(player, "brazier.burning.on"); - notifyUpdate(state); return true; } diff --git a/src/main/java/elucent/rootsclassic/block/mortar/TileEntityMortar.java b/src/main/java/elucent/rootsclassic/block/mortar/TileEntityMortar.java index 407333d5..5da6a1a6 100644 --- a/src/main/java/elucent/rootsclassic/block/mortar/TileEntityMortar.java +++ b/src/main/java/elucent/rootsclassic/block/mortar/TileEntityMortar.java @@ -135,7 +135,6 @@ private boolean tryActivateRecipe(IBlockState state) { ComponentRecipe recipe = ComponentManager.getRecipe(inventory); if (recipe != null && !recipe.isDisabled() && this.inventory.size() > 3 && ComponentRecipe.getModifierCapacity(inventory) != -1) { - if (!world.isRemote) { world.spawnEntity(new EntityItem(world, getPos().getX() + 0.5, getPos().getY() + 0.5, getPos().getZ() + 0.5, recipe.getRecipeResult(inventory))); } diff --git a/src/main/java/elucent/rootsclassic/compat/RitualZen.java b/src/main/java/elucent/rootsclassic/compat/RitualZen.java index 18ec156e..5ff964b6 100644 --- a/src/main/java/elucent/rootsclassic/compat/RitualZen.java +++ b/src/main/java/elucent/rootsclassic/compat/RitualZen.java @@ -6,6 +6,7 @@ import elucent.rootsclassic.Roots; import elucent.rootsclassic.ritual.RitualBase; import elucent.rootsclassic.ritual.RitualManager; +import elucent.rootsclassic.ritual.rituals.RitualCrafting; import net.minecraftforge.fml.common.Optional; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; @@ -14,6 +15,38 @@ @ZenRegister public class RitualZen { + @Optional.Method(modid = "crafttweaker") + @ZenMethod + public static void addCraftingRitual(String uniqueName, IItemStack output, int level, double r, double g, double b, + IItemStack incenses[], IItemStack ingredients[]) { + RitualCrafting newCraft = new RitualCrafting(uniqueName, level, r, g, b); + newCraft.setResult(SpellZen.toStack(output)); + newCraft.setIngredients(Arrays.asList(SpellZen.toStacks(ingredients))); + newCraft.setIncenses(Arrays.asList(SpellZen.toStacks(incenses))); + RitualManager.addRitual(newCraft); + } + + @Optional.Method(modid = "crafttweaker") + @ZenMethod + public static void setPrimaryColor(String name, double r, double g, double b) { + RitualBase found = findRitualByName(name); + found.setPrimaryColor(r, g, b); + } + + @Optional.Method(modid = "crafttweaker") + @ZenMethod + public static void setSecondaryColor(String name, double r, double g, double b) { + RitualBase found = findRitualByName(name); + found.setSecondaryColor(r, g, b); + } + + @Optional.Method(modid = "crafttweaker") + @ZenMethod + public static void setLevel(String name, int level) { + RitualBase found = findRitualByName(name); + found.setLevel(level); + } + /** * Invalid ritual, names must be one of: staffCrafting,sylvanHoodCrafting,sylvanChestCrafting,sylvanLegsCrafting,sylvanBootsCrafting, * wildwoodHeadCrafting,wildwoodChestCrafting,wildwoodLegsCrafting,wildwoodBootsCrafting, acceleratorStoneCrafting,standingStone,entanglerStoneCrafting,growerStoneCrafting, @@ -24,19 +57,7 @@ public class RitualZen { @Optional.Method(modid = "crafttweaker") @ZenMethod public static void setRitualIngredients(String name, IItemStack items[]) { - // - RitualBase found = RitualManager.getRitualFromName(name); - if (found == null) { - String names = ""; - for (RitualBase c : RitualManager.rituals) { - names += c.getName() + ","; - } - // Roots.logger.info(names); - throw new IllegalArgumentException("Invalid ritual[" + name + "], names must be one of: " + names); - } - if (items.length == 0 || items.length > 3) { - throw new IllegalArgumentException("Invalid ritual ingredients, must be in range [1,3]"); - } + RitualBase found = findRitualByName(name); Roots.logger.info("[ZenScript:Ritual] changing ingredients " + found.getName()); found.setIngredients(Arrays.asList(SpellZen.toStacks(items))); } @@ -44,22 +65,21 @@ public static void setRitualIngredients(String name, IItemStack items[]) { @Optional.Method(modid = "crafttweaker") @ZenMethod public static void setRitualIncense(String name, IItemStack[] items) { - // + RitualBase found = findRitualByName(name); + Roots.logger.info("[ZenScript:Ritual] changing incense " + found.getName()); + found.setIncenses(Arrays.asList(SpellZen.toStacks(items))); + } + + private static RitualBase findRitualByName(String name) { RitualBase found = RitualManager.getRitualFromName(name); if (found == null) { String names = ""; for (RitualBase c : RitualManager.rituals) { names += c.getName() + ","; } - // Roots.logger.info(names); + Roots.logger.info(names); throw new IllegalArgumentException("Invalid ritual[" + name + "], names must be one of: " + names); } - - if (items.length == 0 || items.length > 4) { - throw new IllegalArgumentException("Invalid ritual incense, must be in range [1,4]"); - } - Roots.logger.info("[ZenScript:Ritual] changing incense " + found.getName()); - found.setIncenses(Arrays.asList(SpellZen.toStacks(items))); - + return found; } } diff --git a/src/main/java/elucent/rootsclassic/compat/SpellZen.java b/src/main/java/elucent/rootsclassic/compat/SpellZen.java index 527feb33..caa1f455 100644 --- a/src/main/java/elucent/rootsclassic/compat/SpellZen.java +++ b/src/main/java/elucent/rootsclassic/compat/SpellZen.java @@ -24,7 +24,15 @@ public class SpellZen { @Optional.Method(modid = "crafttweaker") @ZenMethod public static void setSpellItems(String name, IItemStack items[]) { - // + if (items.length == 0 || items.length > 4) { + throw new IllegalArgumentException("Invalid spell ingredients, must be in range [1,4]"); + } + ComponentRecipe found = findSpellByName(name); + Roots.logger.info("[ZenScript:Spell] changing recipe " + found.getLocalizedName()); + found.setMaterials(Arrays.asList(toStacks(items))); + } + + private static ComponentRecipe findSpellByName(String name) { ComponentRecipe found = ComponentManager.getSpellFromName(name); if (found == null) { String names = ""; @@ -34,11 +42,7 @@ public static void setSpellItems(String name, IItemStack items[]) { // Roots.logger.info(names); throw new IllegalArgumentException("Invalid spell [" + name + "], names must be one of: " + names); } - if (items.length == 0 || items.length > 4) { - throw new IllegalArgumentException("Invalid spell ingredients, must be in range [1,4]"); - } - Roots.logger.info("[ZenScript:Spell] changing recipe " + found.getLocalizedName()); - found.setMaterials(Arrays.asList(toStacks(items))); + return found; } /** diff --git a/src/main/java/elucent/rootsclassic/component/ComponentRecipe.java b/src/main/java/elucent/rootsclassic/component/ComponentRecipe.java index ddacb2c5..3b1b3991 100644 --- a/src/main/java/elucent/rootsclassic/component/ComponentRecipe.java +++ b/src/main/java/elucent/rootsclassic/component/ComponentRecipe.java @@ -100,7 +100,6 @@ public boolean matches(List items) { return tempItems.size() == 0; } - public String getEffectResult() { return effectResult; } diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentPeony.java b/src/main/java/elucent/rootsclassic/component/components/ComponentPeony.java index 0e894dc9..4d78669a 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentPeony.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentPeony.java @@ -49,7 +49,6 @@ public void castingAction(EntityPlayer player, int count, int potency, int effic Roots.proxy.spawnParticleMagicAuraFX(world, fX + Util.randomDouble(0.0, 0.5), fY + Util.randomDouble(0.1, 0.5), fZ + Util.randomDouble(0.0, 0.5), (player.posX - fX) * factor, (player.posY - fY) * factor, (player.posZ - fZ) * factor, 138, 42, 235); } }); - player.setVelocity(0, 0, 0); } @Override diff --git a/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java b/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java index b4b53de4..43452b4e 100644 --- a/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java +++ b/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java @@ -32,6 +32,13 @@ public EntityTileAccelerator(World world, BlockPos pos, int potency, int size) { @Override public void onUpdate() { super.onUpdate(); + if (pos == null) { + if (!world.isRemote) { + this.setDead(); + this.getEntityWorld().removeEntity(this); + } + return; + } if (this.getEntityWorld().getTileEntity(this.pos) instanceof ITickable) { for (int i = 0; i < potency; i++) { ((ITickable) this.getEntityWorld().getTileEntity(this.pos)).update(); diff --git a/src/main/java/elucent/rootsclassic/gui/GuiTabletPage.java b/src/main/java/elucent/rootsclassic/gui/GuiTabletPage.java index 4ae4c102..f37e042c 100644 --- a/src/main/java/elucent/rootsclassic/gui/GuiTabletPage.java +++ b/src/main/java/elucent/rootsclassic/gui/GuiTabletPage.java @@ -157,14 +157,11 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) { textLines.add(new GuiTextInstance(info.get(i), basePosX + 16, basePosY + 32 + i * 11)); } break; - case TYPE_SMELTING: Minecraft.getMinecraft().getTextureManager().bindTexture(Const.tabletSmelting); this.drawTexturedModalRect(basePosX, basePosY, 0, 0, 192, 256); - slots.add(new GuiSlotInstance(page.smeltingRecipe.get(0), (int) basePosX + 56, (int) basePosY + 40)); slots.add(new GuiSlotInstance(page.smeltingRecipe.get(1), (int) basePosX + 144, (int) basePosY + 56)); - info = page.makeLines(makeInfo()); for (int i = 0; i < info.size(); i++) { textLines.add(new GuiTextInstance(info.get(i), basePosX + 16, basePosY + 104 + i * 11, Util.intColor(255, 255, 255))); @@ -175,15 +172,12 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) { case TYPE_DISPLAY: Minecraft.getMinecraft().getTextureManager().bindTexture(Const.tabletDisplay); this.drawTexturedModalRect(basePosX, basePosY, 0, 0, 192, 256); - slots.add(new GuiSlotInstance(page.displayItem, (int) basePosX + 88, (int) basePosY + 48)); - info = page.makeLines(makeInfo()); for (int i = 0; i < info.size(); i++) { textLines.add(new GuiTextInstance(info.get(i), basePosX + 16, basePosY + 80 + i * 11, Util.intColor(255, 255, 255))); } title = makeTitle(); - textLines.add(new GuiTextInstance(title, basePosX + 96 - (this.fontRenderer.getStringWidth(title) / 2.0f), basePosY + 12, Util.intColor(255, 255, 255))); break; case TYPE_ALTAR: @@ -216,7 +210,6 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) { for (int i = 0; i < page.altarRecipe.getIncenses().size(); i++) { slots.add(new GuiSlotInstance(page.altarRecipe.getIncenses().get(i), (int) basePosX + 76 + 16 * i, (int) basePosY + 88)); } - title = makeTitle(); textLines.add(new GuiTextInstance(title, basePosX + 96 - (this.fontRenderer.getStringWidth(title) / 2.0f), basePosY + 12, Util.intColor(255, 255, 255))); break; @@ -226,7 +219,6 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) { for (int i = 0; i < page.mortarRecipe.getMaterials().size(); i++) { slots.add(new GuiSlotInstance(page.mortarRecipe.getMaterials().get(i), (int) basePosX + 24 + i * 16, (int) basePosY + 56)); } - slots.add(new GuiSlotInstance(page.mortarRecipe.getRecipeResult(new ArrayList()), (int) basePosX + 144, (int) basePosY + 56)); info = page.makeLines(makeInfo()); for (int i = 0; i < info.size(); i++) { @@ -249,7 +241,6 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) { else fontRenderer.drawString(line.getLine(), (int) line.getX(), (int) line.getY(), line.getColor()); } - //TODO: arrows go black on rituals Minecraft.getMinecraft().getTextureManager().bindTexture(Const.tabletGui); if (showLeftArrow) { diff --git a/src/main/java/elucent/rootsclassic/item/ItemDruidRobes.java b/src/main/java/elucent/rootsclassic/item/ItemDruidRobes.java index 8e7a64d1..87a58c00 100644 --- a/src/main/java/elucent/rootsclassic/item/ItemDruidRobes.java +++ b/src/main/java/elucent/rootsclassic/item/ItemDruidRobes.java @@ -4,6 +4,7 @@ import java.util.Random; import elucent.rootsclassic.Const; import elucent.rootsclassic.RegistryManager; +import elucent.rootsclassic.Util; import elucent.rootsclassic.capability.RootsCapabilityManager; import elucent.rootsclassic.model.ModelDruidRobes; import net.minecraft.client.model.ModelBiped; @@ -41,9 +42,7 @@ public ModelBiped getArmorModel(EntityLivingBase living, ItemStack stack, Entity @Override public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { - if (stack.isItemDamaged() && rnd.nextInt(80) == 0) { - stack.setItemDamage(stack.getItemDamage() - 1); - } + Util.randomlyRepair(world.rand, stack); if (rnd.nextInt(40) == 0) { if (player.hasCapability(RootsCapabilityManager.manaCapability, null)) { player.getCapability(RootsCapabilityManager.manaCapability, null).setMana(player.getCapability(RootsCapabilityManager.manaCapability, null).getMana() + 1.0f); diff --git a/src/main/java/elucent/rootsclassic/ritual/RitualBase.java b/src/main/java/elucent/rootsclassic/ritual/RitualBase.java index 6e4f0a6e..48e9219a 100644 --- a/src/main/java/elucent/rootsclassic/ritual/RitualBase.java +++ b/src/main/java/elucent/rootsclassic/ritual/RitualBase.java @@ -23,20 +23,46 @@ public abstract class RitualBase { private Vec3d color = new Vec3d(255, 255, 255); private Vec3d secondaryColor = new Vec3d(255, 255, 255); private String name = ""; + private int level; - public RitualBase(String parName, double r, double g, double b) { - setName(parName); - setColor(new Vec3d(r, g, b)); - setSecondaryColor(new Vec3d(r, g, b)); + public RitualBase(String parName, int level, double r, double g, double b) { + if (RitualManager.getRitualFromName(name) != null) { + throw new IllegalArgumentException("No duplicate names for rituals"); + } + this.name = parName; + setPrimaryColor(r, g, b); + setSecondaryColor(r, g, b); + setLevel(level); } - public RitualBase(String parName, double r, double g, double b, double r2, double g2, double b2) { - setName(parName); - setColor(new Vec3d(r, g, b)); - setSecondaryColor(new Vec3d(r2, g2, b2)); + public void setLevel(int level) { + if (level < 0 || level > 2) { + throw new IllegalArgumentException("Level must be 0, 1 or 2"); + } + this.blocks = new ArrayList(); + this.level = level; + //level 0 has no stones + if (level == 1 || level == 2) { + //the first circle of tier 1 stones + this.addRitualPillar(RegistryManager.standingStoneT1, -3, 0, -3); + this.addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 3); + this.addRitualPillar(RegistryManager.standingStoneT1, 3, 0, -3); + this.addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 3); + this.addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 0); + this.addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 0); + this.addRitualPillar(RegistryManager.standingStoneT1, 0, 0, 3); + this.addRitualPillar(RegistryManager.standingStoneT1, 0, 0, -3); + } + else if (level == 2) { + //the outer tier 2 stones + this.addRitualPillar(RegistryManager.standingStoneT2, 5, 1, 0); + this.addRitualPillar(RegistryManager.standingStoneT2, -5, 1, 0); + this.addRitualPillar(RegistryManager.standingStoneT2, 0, 1, 5); + this.addRitualPillar(RegistryManager.standingStoneT2, 0, 1, -5); + } } - public RitualBase addBlock(Block b, int x, int y, int z) { + public RitualBase addRitualPillar(Block b, int x, int y, int z) { getBlocks().add(b); getPositionsRelative().add(new BlockPos(x, y, z)); return this; @@ -65,7 +91,7 @@ public boolean verifyPositionBlocks(World world, BlockPos pos) { Block loopBlock = getBlocks().get(i); BlockPos loopPosOffset = pos.add(loopPos.getX(), loopPos.getY(), loopPos.getZ()); if (world.getBlockState(loopPosOffset).getBlock() != loopBlock) { - Roots.logger.info("Missing block " + loopBlock + " at position " + loopPosOffset); + Roots.logger.info(this.level + " level recipe has Missing block " + loopBlock + " at position " + loopPosOffset); return false; } } @@ -76,7 +102,6 @@ public boolean verifyPositionBlocks(World world, BlockPos pos) { public List getRecipeBraziers(World world, BlockPos pos) { List links = new ArrayList<>(); TileEntity tileHere; - for (int i = -1 * RADIUS; i <= RADIUS; i++) { for (int j = -1 * RADIUS; j <= RADIUS; j++) { if (world.getBlockState(pos.add(i, 0, j)).getBlock() == RegistryManager.brazier) { @@ -106,7 +131,6 @@ public boolean incesceMatches(World world, BlockPos pos) { // //TODO: use this somewhere? // return I18n.format("roots.ritual." + getName() + ".name"); // } - @Override public String toString() { //this.getName() + System.lineSeparator() + @@ -125,7 +149,11 @@ public List getIngredients() { return ingredients; } - public void setIngredients(List ingredients) { + public void setIngredients(List ingredients) + throws IllegalArgumentException { + if (ingredients.size() == 0 || ingredients.size() > 3) { + throw new IllegalArgumentException("Invalid ritual ingredients, must be in range [1,3]"); + } this.ingredients = ingredients; } @@ -133,7 +161,11 @@ public List getIncenses() { return incenses; } - public void setIncenses(List incenses) { + public void setIncenses(List incenses) + throws IllegalArgumentException { + if (incenses.size() == 0 || incenses.size() > 4) { + throw new IllegalArgumentException("Invalid ritual incense, must be in range [1,4]"); + } this.incenses = incenses; } @@ -157,23 +189,29 @@ public Vec3d getColor() { return color; } - public void setColor(Vec3d color) { - this.color = color; + public void setPrimaryColor(double r, double g, double b) { + this.color = buildColor(r, g, b); } public Vec3d getSecondaryColor() { return secondaryColor; } - public void setSecondaryColor(Vec3d secondaryColor) { - this.secondaryColor = secondaryColor; + public RitualBase setSecondaryColor(double r, double g, double b) { + this.secondaryColor = buildColor(r, g, b); + return this; } - public String getName() { - return name; + private Vec3d buildColor(double r, double g, double b) throws IllegalArgumentException { + if (r < 0 || r > 255 || + g < 0 || g > 255 || + b < 0 || b > 255) { + throw new IllegalArgumentException("Invalid colour value use [0, 255]"); + } + return new Vec3d(r, g, b); } - public void setName(String name) { - this.name = name; + public String getName() { + return name; } } diff --git a/src/main/java/elucent/rootsclassic/ritual/RitualManager.java b/src/main/java/elucent/rootsclassic/ritual/RitualManager.java index f3bc30f1..f71e2209 100644 --- a/src/main/java/elucent/rootsclassic/ritual/RitualManager.java +++ b/src/main/java/elucent/rootsclassic/ritual/RitualManager.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import elucent.rootsclassic.RegistryManager; +import elucent.rootsclassic.Roots; import elucent.rootsclassic.Util; import elucent.rootsclassic.block.altar.TileEntityAltar; import elucent.rootsclassic.block.brazier.TileEntityBrazier; @@ -39,7 +40,6 @@ public class RitualManager { public static ArrayList rituals = new ArrayList(); public static RitualBase findMatchingByIngredients(TileEntityAltar altar) { - for (RitualBase ritual : RitualManager.rituals) { // if (ritual.getName().equals("healerStoneCrafting")) { // Roots.logger.info("healer stone?"); @@ -64,7 +64,7 @@ public static void addRitual(RitualBase ritual) throws IllegalArgumentException for (RitualBase existing : rituals) { //ingredients must be unique if (ritual.doIngredientsMatch(existing)) { - throw new IllegalArgumentException("Duplicate ingredients are not allowed for incoming ritual : " + ritual.getName() + Roots.logger.error("Duplicate ingredients are not allowed for incoming ritual : " + ritual.getName() + " and existing ritual " + existing.getName()); } } @@ -72,16 +72,16 @@ public static void addRitual(RitualBase ritual) throws IllegalArgumentException } public static void init() { - addRitual(new RitualCrafting("staffCrafting", 205, 86, 0) + addRitual(new RitualCrafting("staffCrafting", 2, 205, 86, 0) .setResult(new ItemStack(RegistryManager.crystalStaff, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Blocks.COAL_BLOCK, 1)) .addIncense(new ItemStack(RegistryManager.acaciaTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) @@ -89,20 +89,20 @@ public static void init() { .addIngredient(new ItemStack(Blocks.DIAMOND_BLOCK, 1)) .addIngredient(new ItemStack(Items.STICK, 1)) .addIngredient(new ItemStack(Items.BLAZE_POWDER, 1))); - addRitual(new RitualCrafting("sylvanHoodCrafting", 62, 138, 62) + addRitual(new RitualCrafting("sylvanHoodCrafting", 2, 62, 138, 62) .setResult(new ItemStack(RegistryManager.druidRobesHead, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT2, 5, 1, 0) + .addRitualPillar(RegistryManager.standingStoneT2, -5, 1, 0) + .addRitualPillar(RegistryManager.standingStoneT2, 0, 1, 5) + .addRitualPillar(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(Items.GOLDEN_APPLE, 1)) @@ -110,20 +110,20 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.LEATHER_HELMET, 1)) .addIngredient(new ItemStack(Blocks.VINE, 1))); - addRitual(new RitualCrafting("sylvanChestCrafting", 62, 138, 62) + addRitual(new RitualCrafting("sylvanChestCrafting", 2, 62, 138, 62) .setResult(new ItemStack(RegistryManager.druidRobesChest, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, -3, 0, 0) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, 3) + .addRitualPillar(RegistryManager.standingStoneT1, 0, 0, -3) + .addRitualPillar(RegistryManager.standingStoneT2, 5, 1, 0) + .addRitualPillar(RegistryManager.standingStoneT2, -5, 1, 0) + .addRitualPillar(RegistryManager.standingStoneT2, 0, 1, 5) + .addRitualPillar(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(Items.GOLDEN_APPLE, 1)) @@ -131,20 +131,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.LEATHER_CHESTPLATE, 1)) .addIngredient(new ItemStack(Blocks.VINE, 1))); - addRitual(new RitualCrafting("sylvanLegsCrafting", 62, 138, 62) + addRitual(new RitualCrafting("sylvanLegsCrafting", 2, 62, 138, 62) .setResult(new ItemStack(RegistryManager.druidRobesLegs, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(Items.GOLDEN_APPLE, 1)) @@ -152,20 +140,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.LEATHER_LEGGINGS, 1)) .addIngredient(new ItemStack(Blocks.VINE, 1))); - addRitual(new RitualCrafting("sylvanBootsCrafting", 62, 138, 62) + addRitual(new RitualCrafting("sylvanBootsCrafting", 2, 62, 138, 62) .setResult(new ItemStack(RegistryManager.druidRobesBoots, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.birchTreeBark, 1)) .addIncense(new ItemStack(Items.GOLDEN_APPLE, 1)) @@ -173,20 +149,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.LEATHER_BOOTS, 1)) .addIngredient(new ItemStack(Blocks.VINE, 1))); - addRitual(new RitualCrafting("wildwoodHeadCrafting", 145, 115, 65) + addRitual(new RitualCrafting("wildwoodHeadCrafting", 2, 145, 115, 65) .setResult(new ItemStack(RegistryManager.druidArmorHead, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -194,20 +158,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.IRON_HELMET, 1)) .addIngredient(new ItemStack(Blocks.PLANKS, 1, 0))); - addRitual(new RitualCrafting("wildwoodChestCrafting", 145, 115, 65) + addRitual(new RitualCrafting("wildwoodChestCrafting", 2, 145, 115, 65) .setResult(new ItemStack(RegistryManager.druidArmorChest, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -215,20 +167,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.IRON_CHESTPLATE, 1)) .addIngredient(new ItemStack(Blocks.PLANKS, 1))); - addRitual(new RitualCrafting("wildwoodLegsCrafting", 145, 115, 65) + addRitual(new RitualCrafting("wildwoodLegsCrafting", 2, 145, 115, 65) .setResult(new ItemStack(RegistryManager.druidArmorLegs, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -236,20 +176,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.IRON_LEGGINGS, 1)) .addIngredient(new ItemStack(Blocks.PLANKS, 1))); - addRitual(new RitualCrafting("wildwoodBootsCrafting", 145, 115, 65) + addRitual(new RitualCrafting("wildwoodBootsCrafting", 2, 145, 115, 65) .setResult(new ItemStack(RegistryManager.druidArmorBoots, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -257,20 +185,8 @@ public static void init() { .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Items.IRON_BOOTS, 1)) .addIngredient(new ItemStack(Blocks.PLANKS, 1))); - addRitual(new RitualCrafting("acceleratorStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("acceleratorStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneAccelerator, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -278,37 +194,13 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 0))); - addRitual(new RitualCrafting("standingStone", 0, 105, 73) + addRitual(new RitualCrafting("standingStone", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneAesthetic, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 1))); - addRitual(new RitualCrafting("entanglerStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("entanglerStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneEntangler, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -316,20 +208,8 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 2))); - addRitual(new RitualCrafting("growerStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("growerStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneGrower, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -337,20 +217,8 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Blocks.STONE, 1, 0))); - addRitual(new RitualCrafting("healerStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("healerStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneHealer, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -358,20 +226,8 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2)) .addIngredient(new ItemStack(Items.REDSTONE)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 3))); - addRitual(new RitualCrafting("igniterStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("igniterStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneIgniter, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -379,20 +235,8 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.REDSTONE, 1)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 2))); - addRitual(new RitualCrafting("repulsorStoneCrafting", 0, 105, 73) + addRitual(new RitualCrafting("repulsorStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneRepulsor, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) @@ -400,41 +244,18 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Blocks.STONEBRICK, 1, 3))); - addRitual(new RitualCrafting("vacuumStoneCrafting", 0, 105, 73) + //just to move 403 wtf + addRitual(new RitualCrafting("vacuumStoneCrafting", 2, 0, 105, 73) .setResult(new ItemStack(RegistryManager.standingStoneVacuum, 1)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.verdantSprig, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) .addIncense(new ItemStack(RegistryManager.darkOakTreeBark, 1, 0)) .addIngredient(new ItemStack(RegistryManager.standingStoneT2, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) - .addIngredient(new ItemStack(Blocks.STONE, 1, 3))); - addRitual(new RitualCrafting("runicFocusCrafting", 109, 242, 109) + .addIngredient(new ItemStack(Blocks.NETHER_BRICK))); + addRitual(new RitualCrafting("runicFocusCrafting", 2, 109, 242, 109) .setResult(new ItemStack(RegistryManager.runicFocus, 1, 0)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.spruceTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.acaciaTreeBark, 1)) @@ -442,104 +263,64 @@ public static void init() { .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.DIAMOND, 1)) .addIngredient(new ItemStack(Blocks.STONE, 1))); - addRitual(new RitualCrafting("runicFocusCharging", 109, 242, 109) + addRitual(new RitualCrafting("runicFocusCharging", 2, 109, 242, 109) .setResult(new ItemStack(RegistryManager.runicFocus, 1, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) .addIngredient(new ItemStack(RegistryManager.runicFocus, 1, 0)) .addIngredient(new ItemStack(Items.REDSTONE, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1))); - addRitual(new RitualCrafting("livingPickaxeCrafting", 146, 214, 43) + addRitual(new RitualCrafting("livingPickaxeCrafting", 2, 146, 214, 43) .setResult(new ItemStack(RegistryManager.livingPickaxe, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIngredient(new ItemStack(Items.WOODEN_PICKAXE, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.GOLD_NUGGET))); - addRitual(new RitualCrafting("livingAxeCrafting", 146, 214, 43) + addRitual(new RitualCrafting("livingAxeCrafting", 2, 146, 214, 43) .setResult(new ItemStack(RegistryManager.livingAxe, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIngredient(new ItemStack(Items.WOODEN_AXE, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.GOLD_NUGGET, 1))); - addRitual(new RitualCrafting("livingSwordCrafting", 146, 214, 43) + addRitual(new RitualCrafting("livingSwordCrafting", 2, 146, 214, 43) .setResult(new ItemStack(RegistryManager.livingSword, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIngredient(new ItemStack(Items.WOODEN_SWORD, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.GOLD_NUGGET, 1))); - addRitual(new RitualCrafting("livingHoeCrafting", 146, 214, 43) + addRitual(new RitualCrafting("livingHoeCrafting", 2, 146, 214, 43) .setResult(new ItemStack(RegistryManager.livingHoe, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIngredient(new ItemStack(Items.WOODEN_HOE, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.GOLD_NUGGET, 1))); - addRitual(new RitualCrafting("livingShovelCrafting", 146, 214, 43) + addRitual(new RitualCrafting("livingShovelCrafting", 2, 146, 214, 43) .setResult(new ItemStack(RegistryManager.livingShovel, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIncense(new ItemStack(RegistryManager.oakTreeBark, 1)) .addIngredient(new ItemStack(Items.WOODEN_SHOVEL, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1)) .addIngredient(new ItemStack(Items.GOLD_NUGGET, 1))); - addRitual(new RitualCauseRain("causerain", 23, 0, 138) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) + addRitual(new RitualCauseRain("causerain", 0, 23, 0, 138) .addIncense(new ItemStack(Blocks.VINE, 1)) .addIncense(new ItemStack(RegistryManager.oldRoot, 1)) .addIngredient(new ItemStack(Blocks.WATERLILY, 1))); - addRitual(new RitualCauseRain("banishrain", 204, 159, 35) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) + addRitual(new RitualCauseRain("banishrain", 0, 204, 159, 35) .addIncense(new ItemStack(Blocks.VINE, 1)) .addIncense(new ItemStack(RegistryManager.oldRoot, 1)) .addIngredient(new ItemStack(Items.WHEAT, 1))); - addRitual(new RitualMassBreed("massbreeding", 148, 61, 81) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 5) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 5, 1, -5) - .addBlock(RegistryManager.standingStoneT2, -5, 1, -5) + addRitual(new RitualMassBreed("massbreeding", 0, 148, 61, 81) .addIncense(new ItemStack(Items.CARROT, 1)) .addIncense(new ItemStack(Items.WHEAT, 1)) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.FISH, 1)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST, 1)) .addIngredient(new ItemStack(Items.BONE))); - addRitual(new RitualLifeDrain("lifedrain", 139, 22, 40) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 5) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 5, 1, -5) - .addBlock(RegistryManager.standingStoneT2, -5, 1, -5) + addRitual(new RitualLifeDrain("lifedrain", 2, 139, 22, 40) .addIncense(new ItemStack(Items.WOODEN_SWORD, 1)) .addIncense(new ItemStack(Items.WOODEN_AXE, 1)) .addIncense(new ItemStack(RegistryManager.darkOakTreeBark, 1)) @@ -547,257 +328,105 @@ public static void init() { .addIngredient(new ItemStack(Items.BLAZE_POWDER, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); addRitual(new RitualImbuer() - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIngredient(new ItemStack(RegistryManager.crystalStaff, 1)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1))); - addRitual(new RitualSummoning("cowSummoning", 199, 105, 193) + addRitual(new RitualSummoning("cowSummoning", 1, 199, 105, 193) .setResult(EntityCow.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.BEEF, 1)) .addIngredient(new ItemStack(Items.LEATHER, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("pigSummoning", 199, 105, 193) + addRitual(new RitualSummoning("pigSummoning", 1, 199, 105, 193) .setResult(EntityPig.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.PORKCHOP, 1)) .addIngredient(new ItemStack(Items.PORKCHOP, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("sheepSummoning", 199, 105, 193) + addRitual(new RitualSummoning("sheepSummoning", 1, 199, 105, 193) .setResult(EntitySheep.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.MUTTON, 1)) .addIngredient(new ItemStack(Blocks.WOOL, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("chickenSummoning", 199, 105, 193) + addRitual(new RitualSummoning("chickenSummoning", 1, 199, 105, 193) .setResult(EntityChicken.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.CHICKEN, 1)) .addIngredient(new ItemStack(Items.FEATHER, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("rabbitSummoning", 199, 105, 193) + addRitual(new RitualSummoning("rabbitSummoning", 1, 199, 105, 193) .setResult(EntityRabbit.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) .addIncense(new ItemStack(Items.WHEAT_SEEDS, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.RABBIT, 1)) .addIngredient(new ItemStack(Items.RABBIT_HIDE, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("zombieSummoning", 58, 2, 84) + addRitual(new RitualSummoning("zombieSummoning", 2, 58, 2, 84) .setResult(EntityZombie.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.ROTTEN_FLESH, 1)) .addIngredient(new ItemStack(Items.ROTTEN_FLESH, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("skeletonSummoning", 58, 2, 84) + addRitual(new RitualSummoning("skeletonSummoning", 2, 58, 2, 84) .setResult(EntitySkeleton.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.ARROW, 1)) .addIngredient(new ItemStack(Items.BONE, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("spiderSummoning", 58, 2, 84) + addRitual(new RitualSummoning("spiderSummoning", 2, 58, 2, 84) .setResult(EntitySpider.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.STRING, 1)) .addIngredient(new ItemStack(Items.SPIDER_EYE, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("caveSpiderSummoning", 58, 2, 84) + addRitual(new RitualSummoning("caveSpiderSummoning", 2, 58, 2, 84) .setResult(EntityCaveSpider.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.STRING, 1)) .addIngredient(new ItemStack(Items.FERMENTED_SPIDER_EYE, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("slimeSummoning", 58, 2, 84) + addRitual(new RitualSummoning("slimeSummoning", 2, 58, 2, 84) .setResult(EntitySlime.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.SLIME_BALL, 1)) .addIngredient(new ItemStack(Items.SLIME_BALL, 1)) .addIngredient(new ItemStack(Items.SLIME_BALL, 1))); - addRitual(new RitualSummoning("creeperSummoning", 58, 2, 84) + addRitual(new RitualSummoning("creeperSummoning", 2, 58, 2, 84) .setResult(EntityCreeper.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.GUNPOWDER, 1)) .addIngredient(new ItemStack(Items.GUNPOWDER, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSummoning("endermanSummoning", 58, 2, 84) + addRitual(new RitualSummoning("endermanSummoning", 2, 58, 2, 84) .setResult(EntityEnderman.class) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.COAL, 1)) .addIncense(new ItemStack(Items.NETHER_WART, 1)) .addIngredient(new ItemStack(Items.ENDER_PEARL, 1)) .addIngredient(new ItemStack(Items.ENDER_PEARL, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualSacrifice("sacrifice", 94, 9, 56) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) + addRitual(new RitualSacrifice("sacrifice", 2, 94, 9, 56) .addIncense(new ItemStack(Items.BLAZE_POWDER, 1)) .addIncense(new ItemStack(RegistryManager.darkOakTreeBark, 1, 0)) .addIngredient(new ItemStack(Items.FLINT, 1)) .addIngredient(new ItemStack(Items.IRON_SWORD, 1)) .addIngredient(new ItemStack(Items.BONE, 1))); - addRitual(new RitualFlare("flare", 255, 91, 25) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) + addRitual(new RitualFlare("flare", 1, 255, 91, 25) .addIncense(new ItemStack(Items.GUNPOWDER, 1)) .addIncense(new ItemStack(RegistryManager.infernalStem, 1)) .addIngredient(new ItemStack(Items.FLINT, 1)) .addIngredient(new ItemStack(Items.COAL, 1)) .addIngredient(new ItemStack(Items.COAL, 1, 1))); - addRitual(new RitualGrow("grow", 82, 212, 47) + addRitual(new RitualGrow("grow", 0, 82, 212, 47) .addIncense(new ItemStack(Items.WHEAT, 1)) .addIncense(new ItemStack(Items.BEETROOT, 1)) .addIncense(new ItemStack(Items.POTATO, 1)) @@ -805,36 +434,17 @@ public static void init() { .addIngredient(new ItemStack(Items.REDSTONE, 1)) .addIngredient(new ItemStack(Items.DYE, 1, 15)) .addIngredient(new ItemStack(RegistryManager.verdantSprig, 1))); - addRitual(new RitualEngravedSword("engravedCrafting", 104, 106, 107) + addRitual(new RitualEngravedSword("engravedCrafting", 2, 104, 106, 107) .setResult(new ItemStack(RegistryManager.engravedSword)) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) - .addBlock(RegistryManager.standingStoneT2, 5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, -5, 1, 0) - .addBlock(RegistryManager.standingStoneT2, 0, 1, 5) - .addBlock(RegistryManager.standingStoneT2, 0, 1, -5) .addIncense(new ItemStack(Items.GOLDEN_APPLE)) .addIncense(new ItemStack(Items.GOLDEN_CARROT, 1)) .addIngredient(new ItemStack(Items.STONE_SWORD)) .addIngredient(new ItemStack(RegistryManager.runicFocus)) .addIngredient(new ItemStack(Items.GLOWSTONE_DUST))); - addRitual(new RitualTimeShift("timeshift", 240, 245, 88, 252, 162, 35) - .addBlock(RegistryManager.standingStoneT1, -3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, -3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, -3, 0, 0) - .addBlock(RegistryManager.standingStoneT1, 0, 0, 3) - .addBlock(RegistryManager.standingStoneT1, 0, 0, -3) + addRitual(new RitualTimeShift("timeshift", 1, 240, 245, 88) .addIngredient(new ItemStack(Items.CLOCK)) - .addIngredient(new ItemStack(Items.IRON_INGOT))); + .addIngredient(new ItemStack(Items.IRON_INGOT)) + .setSecondaryColor(252, 162, 35)); } public static RitualBase getRitualFromName(String name) { diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualBanishRain.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualBanishRain.java deleted file mode 100644 index ef46121b..00000000 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualBanishRain.java +++ /dev/null @@ -1,31 +0,0 @@ -package elucent.rootsclassic.ritual.rituals; - -import java.util.List; -import elucent.rootsclassic.ritual.RitualBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class RitualBanishRain extends RitualBase { - - public RitualBanishRain(String name, double r, double g, double b) { - super(name, r, g, b); - } - - // @Override - // public boolean incesceMatches(World world, BlockPos pos) { - // if (super.incesceMatches(world, pos)) { - // if (world.getWorldInfo().isRaining() == true) { - // return true; - // } - // } - // return false; - // } - - @Override - public void doEffect(World world, BlockPos pos, List inventory, List incenses) { - inventory.clear(); - world.getWorldInfo().setRaining(false); - world.getWorldInfo().setCleanWeatherTime(3600); - } -} diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCauseRain.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCauseRain.java index 409da3fe..f3e84a35 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCauseRain.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCauseRain.java @@ -8,8 +8,8 @@ public class RitualCauseRain extends RitualBase { - public RitualCauseRain(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualCauseRain(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } // // @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCrafting.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCrafting.java index 8f909fff..66438797 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCrafting.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualCrafting.java @@ -11,19 +11,15 @@ public class RitualCrafting extends RitualBase { public ItemStack result = ItemStack.EMPTY; + public RitualCrafting(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); + } + public RitualCrafting setResult(ItemStack stack) { this.result = stack; return this; } - public RitualCrafting(String name, double r, double g, double b) { - super(name, r, g, b); - } - - public RitualCrafting(String name, double r, double g, double b, double r2, double g2, double b2) { - super(name, r, g, b, r2, g2, b2); - } - @Override public void doEffect(World world, BlockPos pos, List inventory, List incenses) { // if (Util.itemListsMatchWithSize(inventory, this.ingredients)) { diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualEngravedSword.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualEngravedSword.java index e578aa93..915e7a4b 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualEngravedSword.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualEngravedSword.java @@ -21,8 +21,8 @@ public RitualBase setResult(ItemStack stack) { return this; } - public RitualEngravedSword(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualEngravedSword(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualFlare.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualFlare.java index 305ffdcf..ca8b02b5 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualFlare.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualFlare.java @@ -15,8 +15,8 @@ public class RitualFlare extends RitualBase { Random random = new Random(); - public RitualFlare(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualFlare(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualGrow.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualGrow.java index b19d550e..4769fae7 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualGrow.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualGrow.java @@ -12,8 +12,8 @@ public class RitualGrow extends RitualBase { Random random = new Random(); - public RitualGrow(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualGrow(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualImbuer.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualImbuer.java index a7e9a80a..0dca08a9 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualImbuer.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualImbuer.java @@ -13,7 +13,7 @@ public class RitualImbuer extends RitualBase { public RitualImbuer() { - super("imbuer", 255, 255, 255); + super("imbuer", 1, 255, 255, 255); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualLifeDrain.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualLifeDrain.java index 1d191954..065588b8 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualLifeDrain.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualLifeDrain.java @@ -12,8 +12,8 @@ public class RitualLifeDrain extends RitualBase { - public RitualLifeDrain(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualLifeDrain(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualMassBreed.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualMassBreed.java index 53fcf909..12bba341 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualMassBreed.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualMassBreed.java @@ -10,14 +10,14 @@ public class RitualMassBreed extends RitualBase { - public RitualMassBreed(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualMassBreed(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override public void doEffect(World world, BlockPos pos, List inventory, List incenses) { inventory.clear(); - List animals = (List) world.getEntitiesWithinAABB(EntityAnimal.class, new AxisAlignedBB(pos.getX() - 22, pos.getY() - 8, pos.getZ() - 22, pos.getX() + 23, pos.getY() + 9, pos.getZ() + 23)); + List animals = world.getEntitiesWithinAABB(EntityAnimal.class, new AxisAlignedBB(pos.getX() - 22, pos.getY() - 8, pos.getZ() - 22, pos.getX() + 23, pos.getY() + 9, pos.getZ() + 23)); if (animals.size() > 0) { for (int i = 0; i < animals.size(); i++) { animals.get(i).setInLove(world.getClosestPlayer(pos.getX(), pos.getY(), pos.getZ(), 5, false)); diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSacrifice.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSacrifice.java index 3363ad41..8a7bdceb 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSacrifice.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSacrifice.java @@ -19,8 +19,8 @@ public class RitualSacrifice extends RitualBase { public ArrayList potentialDrops = new ArrayList(); Random random = new Random(); - public RitualSacrifice(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualSacrifice(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); potentialDrops.add(new ItemStack(Items.WHEAT_SEEDS, 1)); potentialDrops.add(new ItemStack(Items.WHEAT_SEEDS, 1)); potentialDrops.add(new ItemStack(Items.PUMPKIN_SEEDS, 1)); @@ -42,16 +42,6 @@ public RitualSacrifice(String name, double r, double g, double b) { potentialDrops.add(new ItemStack(Blocks.WATERLILY, 1)); } - // @Override - // public boolean incesceMatches(World world, BlockPos pos) { - // if (super.incesceMatches(world, pos)) { - // if (world.getWorldInfo().isRaining() == false) { - // return true; - // } - // } - // return false; - // } - @Override public void doEffect(World world, BlockPos pos, List inventory, List incenses) { inventory.clear(); diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSummoning.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSummoning.java index 67c19312..f6c7af07 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSummoning.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualSummoning.java @@ -18,8 +18,8 @@ public RitualSummoning setResult(Class entity) { return this; } - public RitualSummoning(String name, double r, double g, double b) { - super(name, r, g, b); + public RitualSummoning(String name, int level, double r, double g, double b) { + super(name, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualTimeShift.java b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualTimeShift.java index f77f0a7e..97f98095 100644 --- a/src/main/java/elucent/rootsclassic/ritual/rituals/RitualTimeShift.java +++ b/src/main/java/elucent/rootsclassic/ritual/rituals/RitualTimeShift.java @@ -11,8 +11,8 @@ public class RitualTimeShift extends RitualBase { - public RitualTimeShift(String parName, double r, double g, double b, double r2, double g2, double b2) { - super(parName, r, g, b, r2, g2, b2); + public RitualTimeShift(String parName, int level, double r, double g, double b) { + super(parName, level, r, g, b); } @Override diff --git a/src/main/java/elucent/rootsclassic/tileentity/TileEntityStandingStoneEntangler.java b/src/main/java/elucent/rootsclassic/tileentity/TileEntityStandingStoneEntangler.java index cfc15042..16a1fbda 100644 --- a/src/main/java/elucent/rootsclassic/tileentity/TileEntityStandingStoneEntangler.java +++ b/src/main/java/elucent/rootsclassic/tileentity/TileEntityStandingStoneEntangler.java @@ -43,7 +43,6 @@ public void update() { } if (ticker % 20 == 0) { List nearbyCreatures = this.getWorld().getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(pos.getX() - RADIUS, pos.getY() - RADIUS, pos.getZ() - RADIUS, pos.getX() + RADIUS, pos.getY() + RADIUS, pos.getZ() + RADIUS)); - if (nearbyCreatures.size() > 0) { for (int i = 0; i < nearbyCreatures.size(); i++) { nearbyCreatures.get(i).addPotionEffect(new PotionEffect(Potion.getPotionFromResourceLocation("slowness"), 25, 1)); diff --git a/update.json b/update.json index 3b8f4801..fb06d2bc 100644 --- a/update.json +++ b/update.json @@ -1,8 +1,8 @@ { "homepage": "https://minecraft.curseforge.com/projects/roots-classic", "promos": { - "1.12.2-latest": "1.1.0", - "1.12.2-recommended": "1.1.0" + "1.12.2-latest": "1.1.2", + "1.12.2-recommended": "1.1.2" }, "1.12.2":{ "1.0.0":"Initial Release" @@ -10,5 +10,7 @@ ,"1.0.2":"Infernal bulbs no longer get eaten when used on a skeleton. Removed restriction of Crystal Staff only working on vanilla grass blocks. More config controls added. You can now remove items from the mortar using an empty hand. Mortar gives you a status message if recipe is invalid. Fixed a crash when a Staff runs out of durability. Fixed Devil's Flower spell not spawning a skeleton. " ,"1.0.3":"Fixed a startup crash compatibility issue with ERZ. " ,"1.1.0":"Status messages while setting up rituals for ease of use. Ritual ingredients are now unique. If your ritual is invalid, you get status-bar messages to get a better idea of what is missing. When you start a ritual, if all ingredients are valid it will auto-light the braziers for you. Clicking a Ritual Altar recipe page now sends ingredients to chat to match how other recipes do it. Full CraftTweaker (zenscript) support to change items used by all spells and rituals. Item Tooltips added to all items rendered in the Runic Tablet GUI screens. Vanilla crafting recipes are no longer shown in the Runic Tablet; this was changed to stay consistent with Craft Tweaker and JEI. New Fruit salad food item to give berries more uses. " + ,"1.1.1":"Fix crash on startup. Duplicate items from zenscript reported to log. " + ,"1.1.2":"Zenscript support added for custom recipe crafting rituals, see the example files (https://github.com/Lothrazar/RootsClassic/tree/develop/scripts_zen_example). Also more support for customizing existing rituals. Updated saturation of food items. Regeneration spell no longer tries to set player movement to zero (also fixes server issue). " } } \ No newline at end of file