From 6575c97aa5e9c620d54552c10dddee776e45ca1c Mon Sep 17 00:00:00 2001 From: WayofTime Date: Fri, 29 Jan 2016 21:33:29 -0500 Subject: [PATCH] Made it so the incense altar needs a minimum number of roads in order to reach specific tiers. Added as a bandaid measure for setting tiers. --- .../incense/IncenseAltarHandler.java | 22 +++++++++++++++++-- .../bloodmagic/tile/TileIncenseAltar.java | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/incense/IncenseAltarHandler.java b/src/main/java/WayofTime/bloodmagic/incense/IncenseAltarHandler.java index 8662e612..2242c4ed 100644 --- a/src/main/java/WayofTime/bloodmagic/incense/IncenseAltarHandler.java +++ b/src/main/java/WayofTime/bloodmagic/incense/IncenseAltarHandler.java @@ -17,6 +17,7 @@ public class IncenseAltarHandler //Incense bonus maximum applied for the tier of blocks. public static double[] incenseBonuses = new double[] { 0.2, 0.6, 1.2, 2, 3, 4.5 }; public static double[] tranquilityRequired = new double[] { 0, 6, 14.14, 28, 44.09, 83.14 }; + public static int[] roadsRequired = new int[] { 0, 1, 3, 5, 7, 9, 11 }; //TODO: Change for when the roads are fully implemented public static void registerIncenseComponent(int altarLevel, IncenseAltarComponent component) { @@ -73,9 +74,26 @@ public class IncenseAltarHandler return accumulatedBonus; } - public static double getIncenseBonusFromComponents(World world, BlockPos pos, double tranquility) + public static double getMaxIncenseBonusFromRoads(int roads) { - double maxBonus = getMaxIncenseBonusFromComponents(world, pos); + double previousBonus = 0; + for (int i = 0; i < incenseBonuses.length; i++) + { + if (roads >= roadsRequired[i]) + { + previousBonus = incenseBonuses[i]; + } else + { + return previousBonus; + } + } + + return previousBonus; + } + + public static double getIncenseBonusFromComponents(World world, BlockPos pos, double tranquility, int roads) + { + double maxBonus = Math.min(getMaxIncenseBonusFromComponents(world, pos), getMaxIncenseBonusFromRoads(roads)); double possibleBonus = 0; for (int i = 0; i < incenseBonuses.length; i++) diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileIncenseAltar.java b/src/main/java/WayofTime/bloodmagic/tile/TileIncenseAltar.java index acb248d9..6b362622 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileIncenseAltar.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileIncenseAltar.java @@ -153,7 +153,7 @@ public class TileIncenseAltar extends TileInventory implements ITickable // System.out.println("Tranquility: " + appliedTranquility); - double bonus = IncenseAltarHandler.getIncenseBonusFromComponents(worldObj, pos, appliedTranquility); + double bonus = IncenseAltarHandler.getIncenseBonusFromComponents(worldObj, pos, appliedTranquility, roadDistance); // System.out.println("Incense bonus: " + bonus); incenseAddition = bonus; }