diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-02-29 19:33:00 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-02-29 19:33:00 +1000 |
commit | 6245b6a3eaf1ce475f6624da97ab3f04dcfd35f8 (patch) | |
tree | b8dab0dae8673f54ed5ff80a5bedfcfe4830cc6b /src/Java/miscutil/core | |
parent | bcccdaf05ee909ba98f096d9822113bed8f283cd (diff) | |
download | GT5-Unofficial-6245b6a3eaf1ce475f6624da97ab3f04dcfd35f8.tar.gz GT5-Unofficial-6245b6a3eaf1ce475f6624da97ab3f04dcfd35f8.tar.bz2 GT5-Unofficial-6245b6a3eaf1ce475f6624da97ab3f04dcfd35f8.zip |
V0.9.2 Release - Removed dev features and some messy code to push a 0.9.2 snapshop codebase.
Diffstat (limited to 'src/Java/miscutil/core')
-rw-r--r-- | src/Java/miscutil/core/commands/CommandMath.java | 145 | ||||
-rw-r--r-- | src/Java/miscutil/core/lib/Strings.java | 2 | ||||
-rw-r--r-- | src/Java/miscutil/core/util/Utils.java | 47 | ||||
-rw-r--r-- | src/Java/miscutil/core/waila/IWailaInfoProvider.java | 5 | ||||
-rw-r--r-- | src/Java/miscutil/core/waila/IWailaNBTProvider.java | 2 | ||||
-rw-r--r-- | src/Java/miscutil/core/waila/WailaCompat.java | 52 |
6 files changed, 154 insertions, 99 deletions
diff --git a/src/Java/miscutil/core/commands/CommandMath.java b/src/Java/miscutil/core/commands/CommandMath.java index bf5e52ad94..a099d7b5a0 100644 --- a/src/Java/miscutil/core/commands/CommandMath.java +++ b/src/Java/miscutil/core/commands/CommandMath.java @@ -79,13 +79,18 @@ public class CommandMath implements ICommand System.out.println("Processing on Server side - Home Teleport engaged by: "+P.getDisplayName()); - int XP_TOTAL = P.experienceTotal; - Utils.LOG_WARNING("Total Xp:" + XP_TOTAL); - ChunkCoordinates X = P.getPlayerCoordinates(); - Utils.LOG_WARNING("Player Location: "+X); - ChunkCoordinates Y = null; - Utils.LOG_WARNING("Bed Location: "+Y); - if (!P.getBedLocation(0).equals(null)){ + int XP_TOTAL = P.experienceTotal; + Utils.LOG_WARNING("Total Xp:" + XP_TOTAL); + ChunkCoordinates X = P.getPlayerCoordinates(); + Utils.LOG_WARNING("Player Location: "+X); + ChunkCoordinates Y = null; + Utils.LOG_WARNING("Bed Location: "+Y); + try { + if (P.getBedLocation(0).equals(null)){ + Y = W.getSpawnPoint(); + Utils.LOG_WARNING("Spawn Location: "+Y); + } + else if (!P.getBedLocation(0).equals(null)){ Y = P.getBedLocation(0); Utils.LOG_WARNING("Bed Location: "+Y); } @@ -93,69 +98,73 @@ public class CommandMath implements ICommand Y = W.getSpawnPoint(); Utils.LOG_WARNING("Spawn Location: "+Y); } - if (Y == null) { - Y = W.getSpawnPoint(); - Utils.LOG_WARNING("Spawn Location: "+Y); + } + catch(NullPointerException e) { + Utils.messagePlayer(P, "You do not have a spawn, so..."); + } + if (Y == null || Y.equals(null)) { + Y = W.getSpawnPoint(); + Utils.LOG_WARNING("Spawn Location: "+Y); + } + + int x1 = X.posX; + Utils.LOG_WARNING("X1: "+x1); + int x2 = Y.posX; + Utils.LOG_WARNING("X2: "+x2); + int y1 = X.posY; + Utils.LOG_WARNING("Y1: "+y1); + int y2 = Y.posY; + Utils.LOG_WARNING("Y2: "+y2); + int z1 = X.posZ; + Utils.LOG_WARNING("Z1: "+z1); + int z2 = Y.posZ; + Utils.LOG_WARNING("Z2: "+z2); + + + double d = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1)); + String xpCost = String.valueOf((int)(d*0.15)); + + Utils.LOG_WARNING("d:" + d); + Utils.LOG_WARNING("-----------------------------------------"); + Utils.LOG_WARNING("Actual math formulae"); + Utils.LOG_WARNING(String.valueOf(d)); + Utils.LOG_WARNING("-----------------------------------------"); + Utils.LOG_WARNING("Xp Cost based on answer B."); + Utils.LOG_WARNING(String.valueOf(d*0.15) + " | " + String.valueOf(xpCost)); + Utils.LOG_WARNING("-----------------------------------------"); + Utils.LOG_WARNING("Xp Total"); + Utils.LOG_WARNING(String.valueOf(XP_TOTAL)); + Utils.LOG_WARNING("-----------------------------------------"); + + + + if ((XP_TOTAL-Float.valueOf(xpCost)) > 0){ + EntityXPOrb E = new EntityXPOrb(W, P.posX, P.posY + 1.62D - (double) P.yOffset, P.posZ, 1); + //E.moveTowards((double) Y.posX + 0.5D, (int) Y.posY + 3, (double) Y.posZ + 0.5D); + E.setVelocity((double) Y.posX + 0.5D, (int) Y.posY + 0.1, (double) Y.posZ + 0.5D); + W.spawnEntityInWorld(E); + W.playAuxSFXAtEntity((EntityPlayer) null, 1002, (int) P.posX, (int) P.posY, (int) P.posZ, 0); + P.setPositionAndUpdate(x2, y2+1, z2); + + //gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Movement | X:"+x2+" | Y:"+y2+" | Z:"+z2); + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Distance Traveled | "+String.valueOf((int)(d)) + " Blocks & " + xpCost + "xp"); + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "You suddenly feel at home."); + P.experienceTotal = (int) (XP_TOTAL-Float.valueOf(xpCost)); + if (!xpCost.equals("0") && Float.valueOf(xpCost) > 0){ + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "...At the loss of "+xpCost+" xp."); } - - int x1 = X.posX; - Utils.LOG_WARNING("X1: "+x1); - int x2 = Y.posX; - Utils.LOG_WARNING("X2: "+x2); - int y1 = X.posY; - Utils.LOG_WARNING("Y1: "+y1); - int y2 = Y.posY; - Utils.LOG_WARNING("Y2: "+y2); - int z1 = X.posZ; - Utils.LOG_WARNING("Z1: "+z1); - int z2 = Y.posZ; - Utils.LOG_WARNING("Z2: "+z2); - - - double d = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1)); - String xpCost = String.valueOf((int)(d*0.15)); - - Utils.LOG_WARNING("d:" + d); - Utils.LOG_WARNING("-----------------------------------------"); - Utils.LOG_WARNING("Actual math formulae"); - Utils.LOG_WARNING(String.valueOf(d)); - Utils.LOG_WARNING("-----------------------------------------"); - Utils.LOG_WARNING("Xp Cost based on answer B."); - Utils.LOG_WARNING(String.valueOf(d*0.15) + " | " + String.valueOf(xpCost)); - Utils.LOG_WARNING("-----------------------------------------"); - Utils.LOG_WARNING("Xp Total"); - Utils.LOG_WARNING(String.valueOf(XP_TOTAL)); - Utils.LOG_WARNING("-----------------------------------------"); - - - - if ((XP_TOTAL-Float.valueOf(xpCost)) > 0){ - EntityXPOrb E = new EntityXPOrb(W, P.posX, P.posY + 1.62D - (double) P.yOffset, P.posZ, 1); - //E.moveTowards((double) Y.posX + 0.5D, (int) Y.posY + 3, (double) Y.posZ + 0.5D); - E.setVelocity((double) Y.posX + 0.5D, (int) Y.posY + 0.1, (double) Y.posZ + 0.5D); - W.spawnEntityInWorld(E); - W.playAuxSFXAtEntity((EntityPlayer) null, 1002, (int) P.posX, (int) P.posY, (int) P.posZ, 0); - P.setPositionAndUpdate(x2, y2+1, z2); - - //gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Movement | X:"+x2+" | Y:"+y2+" | Z:"+z2); - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Distance Traveled | "+String.valueOf((int)(d)) + " Blocks & " + xpCost + "xp"); - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "You suddenly feel at home."); - P.experienceTotal = (int) (XP_TOTAL-Float.valueOf(xpCost)); - if (!xpCost.equals("0") && Float.valueOf(xpCost) > 0){ - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "...At the loss of "+xpCost+" xp."); - } - else if (xpCost.equals("0")){ - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "...At the loss of very little xp."); - } - else { - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Something went wrong with the math, have this one on the house. :)"); - } + else if (xpCost.equals("0")){ + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "...At the loss of very little xp."); } - else { - gregtech.api.util.GT_Utility.sendChatToPlayer(P, "You don't feel you're able to do this yet."); + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "Something went wrong with the math, have this one on the house. :)"); } - + } + + else { + gregtech.api.util.GT_Utility.sendChatToPlayer(P, "You don't feel you're able to do this yet."); + } + } } @@ -183,11 +192,11 @@ public class CommandMath implements ICommand return false; } - + public boolean playerUsesCommand(World W, EntityPlayer P, int cost) { - + return true; } diff --git a/src/Java/miscutil/core/lib/Strings.java b/src/Java/miscutil/core/lib/Strings.java index 01976b9bdd..a26d697065 100644 --- a/src/Java/miscutil/core/lib/Strings.java +++ b/src/Java/miscutil/core/lib/Strings.java @@ -6,7 +6,7 @@ public class Strings { public static final String name = "Misc. Utils"; public static final String MODID = "miscutils"; - public static final String VERSION = "0.7.8gtu"; + public static final String VERSION = "0.9.2-gtu"; public static final boolean DEBUG = false; public static final boolean LOAD_ALL_CONTENT = false; public static final int GREG_FIRST_ID = 760; diff --git a/src/Java/miscutil/core/util/Utils.java b/src/Java/miscutil/core/util/Utils.java index 7565d1e308..2ae494d96e 100644 --- a/src/Java/miscutil/core/util/Utils.java +++ b/src/Java/miscutil/core/util/Utils.java @@ -3,6 +3,7 @@ package miscutil.core.util; import static gregtech.api.enums.GT_Values.F; import java.awt.Graphics; +import java.util.Random; import miscutil.core.lib.Strings; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +15,50 @@ import cpw.mods.fml.common.FMLLog; public class Utils { public static final int WILDCARD_VALUE = Short.MAX_VALUE; + + /** + * Returns a psuedo-random number between min and max, inclusive. + * The difference between min and max can be at most + * <code>Integer.MAX_VALUE - 1</code>. + * + * @param min Minimim value + * @param max Maximim value. Must be greater than min. + * @return Integer between min and max, inclusive. + * @see java.util.Random#nextInt(int) + */ + public static int randInt(int min, int max) { + + // Usually this can be a field rather than a method variable + Random rand = new Random(); + + // nextInt is normally exclusive of the top value, + // so add 1 to make it inclusive + int randomNum = rand.nextInt((max - min) + 1) + min; + + return randomNum; + } + + public static long randLong(long min, long max) { + // Usually this can be a field rather than a method variable + Random rand = new Random(); + + // nextInt is normally exclusive of the top value, + // so add 1 to make it inclusive + long randomNum = nextLong(rand,(max - min) + 1) + min; + + return randomNum; + } + + private static long nextLong(Random rng, long n) { + // error checking and 2^x checking removed for simplicity. + long bits, val; + do { + bits = (rng.nextLong() << 1) >>> 1; + val = bits % n; + } while (bits-val+(n-1) < 0L); + return val; + } + public static boolean containsMatch(boolean strict, ItemStack[] inputs, ItemStack... targets) { for (ItemStack input : inputs) @@ -81,5 +126,7 @@ public class Utils { public static FluidStack getIC2Steam(long aAmount) { return FluidRegistry.getFluidStack("ic2steam", (int)aAmount); } + + } diff --git a/src/Java/miscutil/core/waila/IWailaInfoProvider.java b/src/Java/miscutil/core/waila/IWailaInfoProvider.java index 90b96d4bc0..b8ac036ac5 100644 --- a/src/Java/miscutil/core/waila/IWailaInfoProvider.java +++ b/src/Java/miscutil/core/waila/IWailaInfoProvider.java @@ -1,7 +1,8 @@ -package crazypants.enderio.waila; +package miscutil.core.waila; import java.text.NumberFormat; import java.util.List; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; @@ -11,7 +12,7 @@ public abstract interface IWailaInfoProvider public static final int BIT_COMMON = 2; public static final int BIT_DETAILED = 4; public static final int ALL_BITS = 7; - public static final NumberFormat fmt = ; + public static NumberFormat fmt = null; public abstract void getWailaInfo(List<String> paramList, EntityPlayer paramEntityPlayer, World paramWorld, int paramInt1, int paramInt2, int paramInt3); diff --git a/src/Java/miscutil/core/waila/IWailaNBTProvider.java b/src/Java/miscutil/core/waila/IWailaNBTProvider.java index 5b4f7dbe2b..28d15a8bce 100644 --- a/src/Java/miscutil/core/waila/IWailaNBTProvider.java +++ b/src/Java/miscutil/core/waila/IWailaNBTProvider.java @@ -1,4 +1,4 @@ -package crazypants.enderio.waila; +package miscutil.core.waila; import net.minecraft.nbt.NBTTagCompound; diff --git a/src/Java/miscutil/core/waila/WailaCompat.java b/src/Java/miscutil/core/waila/WailaCompat.java index 1f494f89bd..49cf209c87 100644 --- a/src/Java/miscutil/core/waila/WailaCompat.java +++ b/src/Java/miscutil/core/waila/WailaCompat.java @@ -1,27 +1,7 @@ -package crazypants.enderio.waila; +package miscutil.core.waila; -import crazypants.enderio.EnderIO; -import crazypants.enderio.TileEntityEio; -import crazypants.enderio.block.BlockDarkSteelAnvil; -import crazypants.enderio.conduit.ConduitUtil; -import crazypants.enderio.conduit.IConduit; -import crazypants.enderio.conduit.IConduitBundle; -import crazypants.enderio.conduit.liquid.AbstractTankConduit; -import crazypants.enderio.conduit.liquid.ConduitTank; -import crazypants.enderio.conduit.power.IPowerConduit; -import crazypants.enderio.fluid.Fluids; -import crazypants.enderio.gui.IAdvancedTooltipProvider; -import crazypants.enderio.gui.IResourceTooltipProvider; -import crazypants.enderio.gui.TooltipAddera; -import crazypants.enderio.machine.IIoConfigurable; -import crazypants.enderio.machine.IoMode; -import crazypants.enderio.machine.capbank.TileCapBank; -import crazypants.enderio.machine.power.TileCapacitorBank; -import crazypants.enderio.power.IInternalPoweredTile; -import crazypants.util.IFacade; -import crazypants.util.Lang; -import java.text.NumberFormat; import java.util.List; + import mcp.mobius.waila.api.ITaggedList; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; @@ -42,9 +22,27 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraft.world.WorldSettings; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.storage.WorldInfo; import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; +import crazypants.enderio.EnderIO; +import crazypants.enderio.TileEntityEio; +import crazypants.enderio.block.BlockDarkSteelAnvil; +import crazypants.enderio.conduit.ConduitUtil; +import crazypants.enderio.conduit.IConduit; +import crazypants.enderio.conduit.IConduitBundle; +import crazypants.enderio.conduit.liquid.AbstractTankConduit; +import crazypants.enderio.conduit.liquid.ConduitTank; +import crazypants.enderio.conduit.power.IPowerConduit; +import crazypants.enderio.fluid.Fluids; +import crazypants.enderio.gui.IAdvancedTooltipProvider; +import crazypants.enderio.gui.IResourceTooltipProvider; +import crazypants.enderio.gui.TooltipAddera; +import crazypants.enderio.machine.IIoConfigurable; +import crazypants.enderio.machine.IoMode; +import crazypants.enderio.machine.capbank.TileCapBank; +import crazypants.enderio.machine.power.TileCapacitorBank; +import crazypants.enderio.power.IInternalPoweredTile; +import crazypants.util.IFacade; +import crazypants.util.Lang; public class WailaCompat implements IWailaDataProvider @@ -56,7 +54,7 @@ public class WailaCompat private WailaWorldWrapper(World wrapped) { - super(wrapped.getWorldInfo().getWorldName(), wrapped.provider, new WorldSettings(wrapped.getWorldInfo()), wrapped.theProfiler); + super(null, wrapped.getWorldInfo().getWorldName(), wrapped.provider, new WorldSettings(wrapped.getWorldInfo()), wrapped.theProfiler); this.wrapped = wrapped; this.isRemote = wrapped.isRemote; } @@ -133,7 +131,7 @@ public class WailaCompat - ConfigHandler.instance().addConfig("Ender IO", "facades.hidden", Lang.localize("waila.config.hiddenfacades")); + ConfigHandler.instance().addConfig("MiscUtils", "facades.hidden", Lang.localize("waila.config.hiddenfacades")); IWailaInfoProvider.fmt.setMaximumFractionDigits(1); } @@ -151,7 +149,7 @@ public class WailaCompat Block facade = bundle.getFacade(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getSide().ordinal()); if (facade != null) { - ItemStack ret = facade.getPickBlock(pos, new WailaWorldWrapper(accessor.getWorld(), null), pos.blockX, pos.blockY, pos.blockZ); + ItemStack ret = facade.getPickBlock(pos, new WailaWorldWrapper(accessor.getWorld()), pos.blockX, pos.blockY, pos.blockZ); return ret; } } |