aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-11-29 00:47:46 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-11-29 00:47:46 +1000
commit3369fc3ca7553eaaff688f5de5399464d8a0d8d7 (patch)
tree8b344b2c7a52ab2a077d4a43328b7d48e9dba5b5 /src/Java
parent9fc8b38599a4a58741e490ebf4fc1c802f7cac7e (diff)
downloadGT5-Unofficial-3369fc3ca7553eaaff688f5de5399464d8a0d8d7.tar.gz
GT5-Unofficial-3369fc3ca7553eaaff688f5de5399464d8a0d8d7.tar.bz2
GT5-Unofficial-3369fc3ca7553eaaff688f5de5399464d8a0d8d7.zip
+ Added some Thaumcraft Shards, they will not generate unless Thaumcraft is missing.
+ Added recipes to create these shards. + Added a texture for shards. + Added a class to handle Block Events. BlockEventHandler.java % Improved formatting on the 'Infused' dusts.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java99
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java74
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java62
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java48
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java58
-rw-r--r--src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java6
6 files changed, 287 insertions, 60 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
new file mode 100644
index 0000000000..6707bcbdfd
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
@@ -0,0 +1,99 @@
+package gtPlusPlus.core.handler.events;
+
+import gtPlusPlus.core.util.Utils;
+
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockLog;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.passive.EntityPig;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EntityDamageSource;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.player.PlayerInteractEvent;
+import net.minecraftforge.event.world.BlockEvent;
+import cpw.mods.fml.common.eventhandler.Event;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+public class BlockEventHandler {
+ private Random random = new Random();
+
+ @SubscribeEvent
+ public void onBlockLeftClicked(PlayerInteractEvent event) {
+ if (event.action != PlayerInteractEvent.Action.LEFT_CLICK_BLOCK) return;
+
+ ItemStack heldItem = event.entityPlayer.getHeldItem();
+ Block block = event.world.getBlock(event.x, event.y, event.z);
+
+ // If the block clicked was Stone, the player was holding an Iron Pickaxe and a random integer from 0 (inclusive) to 2 (exclusive) is 0 (50% chance)
+ if (block == Blocks.stone && heldItem != null && heldItem.getItem() == Items.iron_pickaxe && random.nextInt(2) == 0) {
+ ForgeDirection direction = ForgeDirection.getOrientation(event.face); // Convert the numeric face to a ForgeDirection
+ int fireX = event.x + direction.offsetX, fireY = event.y + direction.offsetY, fireZ = event.z + direction.offsetZ; // Offset the block's coordinates according to the direction
+
+ if (event.world.isAirBlock(fireX, fireY, fireZ)) { // If the block at the new coordinates is Air
+ event.world.setBlock(fireX, fireY, fireZ, Blocks.fire); // Replace it with Fire
+ event.useBlock = Event.Result.DENY; // Prevent the Fire from being extinguished (also prevents Block#onBlockClicked from being called)
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityDrop(LivingDropsEvent event) {
+ if (event.entityLiving instanceof EntityPig && event.source instanceof EntityDamageSource) {
+ // getEntity will return the Entity that caused the damage,even for indirect damage sources like arrows/fireballs
+ // (where it will return the Entity that shot the projectile rather than the projectile itself)
+ Entity sourceEntity = event.source.getEntity();
+ ItemStack heldItem = sourceEntity instanceof EntityLiving ? ((EntityLiving) sourceEntity).getHeldItem() :
+ sourceEntity instanceof EntityPlayer ? ((EntityPlayer) sourceEntity).getHeldItem() : null;
+
+ if (heldItem != null && heldItem.getItem() == Items.iron_pickaxe) {
+ System.out.println("EntityPig drops event");
+ event.drops.clear();
+ event.entityLiving.dropItem(Items.diamond, 64);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onBlockBreak(BlockEvent.BreakEvent event) {
+ if (event.block == Blocks.stone) {
+ event.setCanceled(true);
+ event.world.setBlock(event.x, event.y, event.z, Blocks.flowing_lava);
+ }
+ }
+
+ @SubscribeEvent
+ public void harvestDrops(BlockEvent.HarvestDropsEvent event) {
+ if (event.block == Blocks.cocoa && event.harvester != null) {
+ event.harvester.addChatComponentMessage(new ChatComponentText("Cocoa!"));
+ }
+ }
+
+ @SubscribeEvent
+ public void logsHarvest(BlockEvent.HarvestDropsEvent event) {
+ if (event.block instanceof BlockLog) {
+ // http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2444501-harvestdropevent-changing-drops-of-vanilla-blocks
+
+ // Utils.sendServerMessage("Logs! Harvester: %s Drops: %s", event.harvester != null ? event.harvester.getCommandSenderName() : "<none>", event.drops.stream().map(ItemStack.toString()).collect(Collectors.joining(", ")));
+ if (event.harvester != null) {
+ ItemStack heldItem = event.harvester.getHeldItem();
+ if (heldItem == null || heldItem.getItem().getHarvestLevel(heldItem, "axe") < 1) {
+ event.drops.clear();
+ Utils.sendServerMessage("Harvester had wrong tool, clearing drops");
+ } else {
+ Utils.sendServerMessage("Harvester had correct tool, not clearing drops");
+ }
+ } else {
+ event.drops.clear();
+ Utils.sendServerMessage("No harvester, clearing drops");
+ }
+ }
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index fa579ddce0..7244a58eb4 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -99,7 +99,7 @@ public final class ModItems {
public static MultiPickaxeBase MP_GTMATERIAL;
public static MultiSpadeBase MS_GTMATERIAL;
-
+
public static BaseItemDecidust itemBaseDecidust;
public static BaseItemCentidust itemBaseCentidust;
@@ -139,14 +139,21 @@ public final class ModItems {
public static Item dustCalciumCarbonate;
public static Item dust2LiOH_CaCO3;
public static Item dustLi2BeF4;
-
+
public static Item dustAer;
public static Item dustIgnis;
public static Item dustTerra;
public static Item dustAqua;
-
+
public static BaseEuItem metaItem2;
+ public static BaseItemTCShard shardAer;
+ public static BaseItemTCShard shardIgnis;
+ public static BaseItemTCShard shardTerra;
+ public static BaseItemTCShard shardAqua;
+
+ public static BaseItemTCShard shardDull;
+
//@SuppressWarnings("unused")
@SuppressWarnings("unused")
@@ -159,25 +166,25 @@ public final class ModItems {
if (CORE.DEBUG){
DEBUG_INIT.registerItems();
}
-
-
+
+
//Some Simple forms of materials
itemStickyRubber = new Item().setUnlocalizedName("itemStickyRubber").setCreativeTab(tabMachines).setTextureName(CORE.MODID + ":itemStickyRubber");
GameRegistry.registerItem(itemStickyRubber, "itemStickyRubber");
GT_OreDictUnificator.registerOre("ingotRubber", ItemUtils.getItemStack(CORE.MODID+":itemStickyRubber", 1));
-
-
-
-
-
+
+
+
+
+
//Register Hydrogen Blobs first, so we can replace old helium blobs.
itemHydrogenBlob = new CoreItem("itemHydrogenBlob", tabMisc).setTextureName(CORE.MODID + ":itemHydrogenBlob");
GT_OreDictUnificator.registerOre("dustHydrogen", new ItemStack(ModItems.itemHydrogenBlob));
//Register Old Helium Blob, this will be replaced when held by a player.
itemHeliumBlob = new CoreItem("itemHeliumBlob", tabMisc, ItemUtils.getSimpleStack(itemHydrogenBlob)).setTextureName(CORE.MODID + ":itemHeliumBlob");
-
-
+
+
//Make some backpacks
//Primary colours
backpack_Red = new BaseItemBackpack("backpackRed", Utils.rgbtoHexValue(200, 0, 0));
@@ -207,11 +214,11 @@ public final class ModItems {
try{
//Elements generate first so they can be used in compounds.
-
+
//Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle.
- MaterialGenerator.generate(ELEMENT.getInstance().URANIUM233);
- MaterialGenerator.generate(ELEMENT.getInstance().ZIRCONIUM);
-
+ MaterialGenerator.generate(ELEMENT.getInstance().URANIUM233);
+ MaterialGenerator.generate(ELEMENT.getInstance().ZIRCONIUM);
+
//Carbides - Tungsten Carbide exists in .09 so don't generate it. - Should still come before alloys though
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
MaterialGenerator.generate(ALLOY.TUNGSTEN_CARBIDE);
@@ -220,9 +227,9 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.ZIRCONIUM_CARBIDE);
MaterialGenerator.generate(ALLOY.TANTALUM_CARBIDE);
MaterialGenerator.generate(ALLOY.NIOBIUM_CARBIDE);
-
+
//Generate some Alloys
-
+
//Misc Alloys
MaterialGenerator.generate(ALLOY.ENERGYCRYSTAL);
MaterialGenerator.generate(ALLOY.BLOODSTEEL);
@@ -232,7 +239,7 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.TUMBAGA);
//Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible
MaterialGenerator.generate(ALLOY.POTIN);
-
+
//Staballoy & Tantalloy
MaterialGenerator.generate(ALLOY.STABALLOY);
MaterialGenerator.generate(ALLOY.TANTALLOY_60);
@@ -243,12 +250,12 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.INCONEL_690);
MaterialGenerator.generate(ALLOY.INCONEL_792);
-
+
//Maraging Steel
MaterialGenerator.generate(ALLOY.MARAGING250);
MaterialGenerator.generate(ALLOY.MARAGING300);
MaterialGenerator.generate(ALLOY.MARAGING350);
-
+
//Composite Alloys
MaterialGenerator.generate(ALLOY.STELLITE);
MaterialGenerator.generate(ALLOY.TALONITE);
@@ -263,12 +270,12 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.INCOLOY_020);
MaterialGenerator.generate(ALLOY.INCOLOY_DS);
MaterialGenerator.generate(ALLOY.INCOLOY_MA956);
-
+
//Leagrisium
MaterialGenerator.generate(ALLOY.LEAGRISIUM);
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
-
+
} catch (Throwable r){
Utils.LOG_INFO("Failed to Generated a Material. "+r.getMessage());
@@ -279,13 +286,24 @@ public final class ModItems {
System.exit(1);
}
-
- //Energy Crystal Components
+ //TC Style Shards, for use in making energy crystal mix.
+ //A dull shard, able to be infused with an element.
+ shardDull = new BaseItemTCShard("Drained", Utils.rgbtoHexValue(25, 25, 25));
+ //Generates four elemental shards when TC is not installed.
+ if (!LoadedMods.Thaumcraft){
+ shardAer = new BaseItemTCShard("Aer", Utils.rgbtoHexValue(225, 225, 5));
+ shardIgnis = new BaseItemTCShard("Ignis", Utils.rgbtoHexValue(255, 5, 5));
+ shardTerra = new BaseItemTCShard("Terra", Utils.rgbtoHexValue(5, 255, 5));
+ shardAqua = new BaseItemTCShard("Aqua", Utils.rgbtoHexValue(5, 5, 255));
+ }
+ //Generates a set of four special dusts to be used in my recipes.
dustAer = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().AER, true)[0];
dustIgnis = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().IGNIS, true)[0];
dustTerra = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().TERRA, true)[0];
dustAqua = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().AQUA, true)[0];
+
+
//Nuclear Fuel Dusts
dustUraniumTetraFluoride = ItemUtils.generateSpecialUseDusts("UraniumTetrafluoride", "Uranium Tetrafluoride", Utils.rgbtoHexValue(17, 179, 42))[0];
dustUraniumHexaFluoride = ItemUtils.generateSpecialUseDusts("UraniumHexafluoride", "Uranium Hexafluoride", Utils.rgbtoHexValue(9, 199, 32))[0];
@@ -303,7 +321,7 @@ public final class ModItems {
dustCalciumHydroxide = ItemUtils.generateSpecialUseDusts("CalciumHydroxide", "Hydrated Lime", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/Calcium_hydroxide
dustCalciumCarbonate = ItemUtils.generateSpecialUseDusts("CalciumCarbonate", "Calcium Carbonate", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/Calcium_carbonate
dust2LiOH_CaCO3 = ItemUtils.generateSpecialUseDusts("2LiOHCaCO3", "2LiOH & CaCO3 Compound", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/Calcium_carbonate
-
+
//FLiBe Fuel Compounds
dustLi2BeF4 = ItemUtils.generateSpecialUseDusts("Li2BeF4", "Li2BeF4 Fuel Compound", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/FLiBe
@@ -314,11 +332,11 @@ public final class ModItems {
metaItem2.registerItem(3, "Test Item 3", 1000765000, 4, "I Hold EU 3.", 32000);
metaItem2.registerItem(4, "Whirlygig", 1043644000, (short) 5, "Spin me right round.", EnumRarity.rare, EnumChatFormatting.DARK_GREEN, true);
metaItem2.registerItem(5, "Whirlygig 2", 2124867000, (short) 7, "Spin me right round.", EnumRarity.uncommon, EnumChatFormatting.RED, true);
-
+
// ItemList.Battery_RE_HV_Cadmium.set(BaseEuItem.
//GameRegistry.registerItem(this, unlocalName);
-
+
boolean gtStyleTools = LoadedMods.Gregtech;
Materials[] rm = Materials.values();
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java b/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java
new file mode 100644
index 0000000000..684736db40
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java
@@ -0,0 +1,62 @@
+package gtPlusPlus.core.item.base;
+
+import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+
+import java.util.List;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+public class BaseItemTCShard extends Item{
+
+ public final String unlocalName;
+ public final String displayName;
+ public final int itemColour;
+
+ public BaseItemTCShard(String DisplayName, int colour) {
+ this.unlocalName = "item"+Utils.sanitizeString(DisplayName);
+ this.displayName = DisplayName;
+ this.itemColour = colour;
+ this.setCreativeTab(AddToCreativeTab.tabMisc);
+ this.setUnlocalizedName(unlocalName);
+ this.setMaxStackSize(64);
+ this.setTextureName(CORE.MODID + ":" + "itemShard");
+ GameRegistry.registerItem(this, unlocalName);
+ GT_OreDictUnificator.registerOre("shard"+DisplayName, ItemUtils.getSimpleStack(this));
+ GT_OreDictUnificator.registerOre("gemInfused"+DisplayName, ItemUtils.getSimpleStack(this));
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack p_77653_1_) {
+ return (this.displayName+" Shard");
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
+ //super.addInformation(stack, aPlayer, list, bool);
+ }
+
+
+ @Override
+ public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) {
+ return itemColour;
+ }
+
+ @Override
+ public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) {
+
+ }
+
+
+}
+
+
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
index aa3026133e..532187c793 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -12,37 +12,69 @@ import net.minecraft.item.ItemStack;
public class RECIPES_General {
+ static ItemStack NULL = null;
static ItemStack RECIPE_Paper = ItemUtils.getSimpleStack(Items.paper);
+ static ItemStack RECIPE_Dirt = ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.dirt));
+ static ItemStack RECIPE_Snow = ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.snow));
+ static ItemStack RECIPE_Obsidian = ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.obsidian));
static String RECIPE_LapisDust = "dustLazurite";
static ItemStack OUTPUT_Blueprint = ItemUtils.getSimpleStack(ModItems.itemBlueprintBase);
static ItemStack RECIPE_CraftingTable = ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.crafting_table));
static String RECIPE_BronzePlate = "plateAnyBronze";
static ItemStack RECIPE_BasicCasingIC2;
static ItemStack OUTPUT_Workbench_Bronze = ItemUtils.getSimpleStack(Item.getItemFromBlock(ModBlocks.blockWorkbench));
- static ItemStack NULL = null;
+ static String RECIPE_HydrogenDust = "dustHydrogen";
public static void RECIPES_LOAD(){
-
if (LoadedMods.Gregtech){
RECIPE_BasicCasingIC2 = ItemUtils.getItemStack("IC2:blockMachine", 1);
- run();
+ run();
}
}
-
+
private static void run(){
-
-
+ //Workbench Blueprint
RecipeUtils.recipeBuilder(
RECIPE_Paper, RECIPE_LapisDust, NULL,
RECIPE_Paper, RECIPE_LapisDust, NULL,
RECIPE_LapisDust, RECIPE_LapisDust, NULL,
OUTPUT_Blueprint);
-
+
+ //Bronze Workbench
RecipeUtils.recipeBuilder(
RECIPE_BronzePlate, RECIPE_CraftingTable, RECIPE_BronzePlate,
RECIPE_BronzePlate, RECIPE_BasicCasingIC2, RECIPE_BronzePlate,
RECIPE_BronzePlate, RECIPE_BronzePlate, RECIPE_BronzePlate,
OUTPUT_Workbench_Bronze);
+
+ //Generates recipes for the Dull shard when TC is not installed.
+ if (!LoadedMods.Thaumcraft){
+ //Dull Shard to Aer
+ RecipeUtils.recipeBuilder(
+ RECIPE_HydrogenDust, RECIPE_HydrogenDust, RECIPE_HydrogenDust,
+ RECIPE_HydrogenDust, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_HydrogenDust,
+ RECIPE_HydrogenDust, RECIPE_HydrogenDust, RECIPE_HydrogenDust,
+ ItemUtils.getSimpleStack(ModItems.shardAer));
+ //Dull Shard to Ignis
+ RecipeUtils.recipeBuilder(
+ RECIPE_Obsidian, RECIPE_Obsidian, RECIPE_Obsidian,
+ RECIPE_Obsidian, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_Obsidian,
+ RECIPE_Obsidian, RECIPE_Obsidian, RECIPE_Obsidian,
+ ItemUtils.getSimpleStack(ModItems.shardIgnis));
+ //Dull Shard to Terra
+ RecipeUtils.recipeBuilder(
+ RECIPE_Dirt, RECIPE_Dirt, RECIPE_Dirt,
+ RECIPE_Dirt, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_Dirt,
+ RECIPE_Dirt, RECIPE_Dirt, RECIPE_Dirt,
+ ItemUtils.getSimpleStack(ModItems.shardTerra));
+ //Dull Shard to Aqua
+ RecipeUtils.recipeBuilder(
+ RECIPE_LapisDust, RECIPE_LapisDust, RECIPE_LapisDust,
+ RECIPE_LapisDust, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_LapisDust,
+ RECIPE_LapisDust, RECIPE_LapisDust, RECIPE_LapisDust,
+ ItemUtils.getSimpleStack(ModItems.shardAqua));
+ }
+
}
-
+
}
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index 99b5a30827..3c406d9046 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -20,6 +20,9 @@ import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.IChatComponent;
import net.minecraft.world.World;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.*;
@@ -33,7 +36,7 @@ import cpw.mods.fml.common.FMLLog;
public class Utils {
public static final int WILDCARD_VALUE = Short.MAX_VALUE;
-
+
public static final boolean isServer(){
return FMLCommonHandler.instance().getEffectiveSide().isServer();
}
@@ -44,23 +47,23 @@ public class Utils {
Utils.LOG_WARNING("Timer expired.");
}
}
-
+
public static boolean isModUpToDate(){
-
+
if (CORE.MASTER_VERSION.toLowerCase().equals("offline")){
return false;
}
-
+
if (CORE.MASTER_VERSION.equals(CORE.VERSION.toLowerCase())){
return true;
}
return false;
}
-
+
public static TC_AspectStack getTcAspectStack (TC_Aspects aspect, long size){
return getTcAspectStack(aspect.name(), (int) size);
}
-
+
public static TC_AspectStack getTcAspectStack (String aspect, long size){
return getTcAspectStack(aspect, (int) size);
}
@@ -68,7 +71,7 @@ public class Utils {
public static TC_AspectStack getTcAspectStack (TC_Aspects aspect, int size){
return getTcAspectStack(aspect.name(), size);
}
-
+
public static TC_AspectStack getTcAspectStack (String aspect, int size){
TC_AspectStack returnValue = null;
@@ -102,8 +105,8 @@ public class Utils {
} catch (NoSuchFieldError r){
Utils.LOG_INFO("Invalid Thaumcraft Aspects - Report this issue to Alkalus");
}
-
-
+
+
}
else if (aspect.toUpperCase() == "PRAECANTATIO"){
//Adds in Compat for older GT Versions which Misspell aspects.
@@ -184,6 +187,15 @@ public class Utils {
g.drawRect (MinA, MinB, MaxA, MaxB);
}
+ // Send a message to all players on the server
+ public static void sendServerMessage(String translationKey) {
+ sendServerMessage(new ChatComponentText(translationKey));
+ }
+ // Send a message to all players on the server
+ public static void sendServerMessage(IChatComponent chatComponent) {
+ MinecraftServer.getServer().getConfigurationManager().sendChatMsg(chatComponent);
+ }
+
/**
* Returns if that Liquid is IC2Steam.
*/
@@ -246,28 +258,28 @@ public class Utils {
sb.append(")");
return sb.toString();
}
-
+
/**
*
* @param colourStr e.g. "#FFFFFF"
* @return
*/
public static Color hex2Rgb(String colorStr) {
- return new Color(
- Integer.valueOf( colorStr.substring( 1, 3 ), 16 ),
- Integer.valueOf( colorStr.substring( 3, 5 ), 16 ),
- Integer.valueOf( colorStr.substring( 5, 7 ), 16 ) );
+ return new Color(
+ Integer.valueOf( colorStr.substring( 1, 3 ), 16 ),
+ Integer.valueOf( colorStr.substring( 3, 5 ), 16 ),
+ Integer.valueOf( colorStr.substring( 5, 7 ), 16 ) );
}
-
+
/**
*
* @param colourInt e.g. 0XFFFFFF
* @return Colour
*/
public static Color hex2Rgb(int colourInt) {
- return Color.decode(String.valueOf(colourInt));
+ return Color.decode(String.valueOf(colourInt));
}
-
+
/**
*
* @param colourInt e.g. 0XFFFFFF
@@ -305,7 +317,7 @@ public class Utils {
List<Object> targetList = new ArrayList<Object>(Arrays.asList(sourceArray));
return targetList;
}
-
+
public static List<Object> convertArrayListToList(ArrayList sourceArray) {
List<Object> targetList = new ArrayList<Object>(Arrays.asList(sourceArray));
return targetList;
@@ -491,11 +503,11 @@ public class Utils {
}
return null;
}
-
+
public static String sanitizeString(String input){
String temp;
String output;
-
+
temp = input.replace(" ", "");
temp = temp.replace("-", "");
temp = temp.replace("_", "");
@@ -512,9 +524,9 @@ public class Utils {
temp = temp.replace(" ", "");
output = temp;
return output;
-
+
}
-
+
public static ToolMaterial generateMaterialFromGT(Materials gtMaterial){
String name = gtMaterial.name();
int harvestLevel = gtMaterial.mToolQuality;
@@ -524,7 +536,7 @@ public class Utils {
int enchantability = gtMaterial.mEnchantmentToolsLevel;
ToolMaterial temp = EnumHelper.addToolMaterial(name, harvestLevel, durability, efficiency, damage, enchantability);
return temp;
-
+
}
diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
index d96d813e6f..58ce45f43c 100644
--- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
@@ -55,7 +55,11 @@ public class MaterialUtils {
int radioactivity = 0;
if (material.isRadioactive()){
radioactivity = 1;
- }
+ }
+ if (name.toLowerCase().contains("infused")){
+ String tempname = name.substring(7, name.length());
+ name = "Infused " + tempname;
+ }
if (hasValidRGBA(rgba) || element == Element.H || (material == Materials.InfusedAir || material == Materials.InfusedFire || material == Materials.InfusedEarth || material == Materials.InfusedWater)){
//ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material);
//ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material);