aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/config/ConfigHandler.java4
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java67
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java167
-rw-r--r--src/Java/gtPlusPlus/core/item/base/CoreItem.java38
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/materials/DustDecayable.java18
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java4
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java526
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java41
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java4
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java30
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/biome/BiomeGenerator_Custom.java355
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java146
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerBiomes.java31
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerDarkWorld.java32
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/BlockDarkWorldGround.java25
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/BlockDarkWorldPollutedDirt.java74
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/BlockDarkWorldPortal.java403
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/BlockDarkWorldPortalFrame.java30
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/BlockDarkWorldSludgeFluid.java101
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java71
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java510
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenDeadLilly.java28
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenMinable_Custom.java90
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT.java49
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java471
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Ore_Layer.java514
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_Ores.java327
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/item/ItemBlockToxicEverglades.java42
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/item/ItemDarkWorldPortalTrigger.java101
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/object/BoxedQuad.java56
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java59
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/DarkWorldPortalPosition.java14
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/TeleporterDimensionMod.java471
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/WorldChunkManagerCustom.java263
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java71
39 files changed, 514 insertions, 4727 deletions
diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
index 200e5a6bf4..cd6f13ffa6 100644
--- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java
+++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
@@ -165,8 +165,8 @@ public class ConfigHandler {
"Disables Zombie Reinforcement on hard difficutly.");
//Biomes
- DARKWORLD_ID = config.getInt("darkworld_ID", "worldgen", 227, 1, 254, "The ID of the Dark Dimension.");
- DARKBIOME_ID = config.getInt("darkbiome_ID", "worldgen", 238, 1, 254, "The biome within the Dark Dimension.");
+ EVERGLADES_ID = config.getInt("darkworld_ID", "worldgen", 227, 1, 254, "The ID of the Dark Dimension.");
+ EVERGLADESBIOME_ID = config.getInt("darkbiome_ID", "worldgen", 238, 1, 254, "The biome within the Dark Dimension.");
//Blacklisted Accelerator TileEntities
BlacklistedTileEntiyClassNames = new String[] { "com.rwtema.extrautils.tileentity.enderquarry.TileEntityEnderQuarry" };
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 35b5f9597c..33215234b9 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -11,13 +11,10 @@ import net.minecraft.util.EnumChatFormatting;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.GTplusplus_Secondary;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.common.compat.COMPAT_Baubles;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.*;
-import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust;
-import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
import gtPlusPlus.core.item.base.foil.BaseItemFoil;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
import gtPlusPlus.core.item.base.foods.BaseItemHotFood;
@@ -56,6 +53,7 @@ import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.everglades.GTplusplus_Everglades;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.Fluid;
@@ -67,10 +65,10 @@ public final class ModItems {
public static Item ZZZ_Empty;
public static Item AAA_Broken;
+
+
public static Item itemAlkalusDisk;
-
public static Item itemDebugShapeSpawner;
-
public static Item itemBaseSpawnEgg;
//EnderIO
@@ -141,9 +139,6 @@ public final class ModItems {
public static MultiPickaxeBase MP_GTMATERIAL;
public static MultiSpadeBase MS_GTMATERIAL;
- public static BaseItemDecidust itemBaseDecidust;
- public static BaseItemCentidust itemBaseCentidust;
-
public static ItemStack FluidCell;
public static BaseItemBackpack backpack_Red;
@@ -181,8 +176,6 @@ public final class ModItems {
public static Item dustCalciumCarbonate;
public static Item dustLi2CO3CaOH2;
public static Item dustLi2BeF4;
-
- public static Item dustNeptunium238;
public static Item dustAer;
public static Item dustIgnis;
@@ -197,7 +190,7 @@ public final class ModItems {
public static Item shardAqua;
//Tc Compat for energy crystal recipes
- public static BaseItemTCShard shardDull;
+ public static Item shardDull;
//Lighter
public static Item itemBasicFireMaker;
@@ -215,20 +208,20 @@ public final class ModItems {
public static Item dustCalciumSulfate;
- public static BaseItemPlate itemPlateClay;
- public static BaseItemPlateDouble itemDoublePlateClay;
-
public static Item dustFertUN18;
public static Item dustFertUN32;
public static Fluid fluidFLiBeSalt;
-
+
//Possibly missing base items that GT may be missing.
+
public static Item itemSmallWroughtIronGear;
+ public static Item itemPlateClay;
public static Item itemPlateLithium;
public static Item itemPlateEuropium;
public static Item itemPlateVanadium;
+ public static Item itemDoublePlateClay;
public static Item itemDoublePlateEuropium;
public static Item itemFoilUranium235;
@@ -253,13 +246,18 @@ public final class ModItems {
public static Item itemModularBauble;
public static Item itemCustomBook;
-
+
public static Item itemGrindleTablet;
public static Item itemRope;
public static Item itemFiber;
public static Item itemDragonJar;
-
+ //Unstable Elements & Related Content
+ public static Item dustNeptunium238;
+ public static Item dustDecayedRadium226;
+ public static Item dustRadium226;
+
+
static {
Logger.INFO("Items!");
}
@@ -406,7 +404,9 @@ public final class ModItems {
//Plutonium-238 is a very powerful alpha emitter. This makes the plutonium-238 isotope suitable for usage in radioisotope thermoelectric generators (RTGs)
//and radioisotope heater units - one gram of plutonium-238 generates approximately 0.5 W of thermal power.
MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().PLUTONIUM238, false);
- MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().PLUTONIUM239, false);
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustPlutonium239", 1) == null || Utils.getGregtechVersionAsInt() < 50931) {
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().PLUTONIUM239, false);
+ }
//RTG Fuel Materials
MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().STRONTIUM90, false);
@@ -512,10 +512,9 @@ public final class ModItems {
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
-
//Ores
MaterialGenerator.generateOreMaterial(FLUORIDES.FLUORITE);
- GTplusplus_Secondary.GenerateOreMaterials();
+ GTplusplus_Everglades.GenerateOreMaterials();
} catch (final Throwable r){
@@ -574,7 +573,7 @@ public final class ModItems {
fluidFLiBeSalt = FluidUtils.generateFluid("Li2BeF4", "Li2BeF4", 7430, new short[]{255, 255, 255, 100});
//LFTR Control Circuit
- itemCircuitLFTR = new CoreItem("itemCircuitLFTR", ""+EnumChatFormatting.GREEN+"Thorium Reactor Control Circuit", AddToCreativeTab.tabMisc, 1, 0, "Helps your LFTR not explode", EnumRarity.epic, EnumChatFormatting.DARK_GREEN, false, null);
+ itemCircuitLFTR = new CoreItem("itemCircuitLFTR", ""+EnumChatFormatting.GREEN+"Thorium Reactor Control Circuit", AddToCreativeTab.tabMisc, 1, 0, new String[] {"Helps your LFTR not explode"}, EnumRarity.epic, EnumChatFormatting.DARK_GREEN, false, null);
//Zirconium
@@ -659,16 +658,22 @@ public final class ModItems {
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleClay", 1) == null){
itemDoublePlateClay = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
}
-
+
//Need this for Mutagenic Frames
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilUranium235", 1) == null){
itemFoilUranium235 = new BaseItemFoil(ELEMENT.getInstance().URANIUM235);
}
-
+
//A small gear needed for wizardry.
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gearGtSmallWroughtIron", 1) == null){
itemSmallWroughtIronGear = new BaseItemSmallGear(MaterialUtils.generateMaterialFromGtENUM(Materials.WroughtIron));
}
+
+
+ // A plate of Vanadium.
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateVanadium", 1) == null){
+ itemPlateVanadium = new BaseItemPlate(ELEMENT.getInstance().VANADIUM);
+ }
//A plate of Lithium.
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateLithium", 1) == null){
@@ -682,9 +687,11 @@ public final class ModItems {
if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleEuropium", 1) == null) && CORE.ConfigSwitches.enableCustom_Pipes){
itemDoublePlateEuropium = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Europium));
}
-
- dustNeptunium238 = new DustDecayable("dustNeptunium238", Utils.rgbtoHexValue(175, 240, 75), 50640, "Result: Plutonium 238 ("+StringUtils.superscript("238Pu")+")", CORE.GT_Tooltip_Radioactive, NUCLIDE.getInstance().PLUTONIUM238.getDust(1).getItem(), 5);
+ dustNeptunium238 = new DustDecayable("dustNeptunium238", Utils.rgbtoHexValue(175, 240, 75), 50640, new String[] {""+StringUtils.superscript("238Np"), "Result: Plutonium 238 ("+StringUtils.superscript("238Pu")+")"}, NUCLIDE.getInstance().PLUTONIUM238.getDust(1).getItem(), 5);
+ dustDecayedRadium226 = ItemUtils.generateSpecialUseDusts("DecayedRadium226", "Decayed Radium-226", ""+StringUtils.superscript("226Ra"), ELEMENT.getInstance().RADIUM.getRgbAsHex())[0];
+ dustRadium226 = new DustDecayable("dustRadium226", ELEMENT.getInstance().RADIUM.getRgbAsHex(), 90000, new String[] {""+StringUtils.superscript("226Ra"), "Result: Radon 222 ("+StringUtils.superscript("222Rn")+")"}, ItemUtils.getSimpleStack(dustDecayedRadium226).getItem(), 5);
+
itemBoilerChassis = new ItemBoilerChassis();
itemDehydratorCoilWire = new ItemDehydratorCoilWire();
itemDehydratorCoil = new ItemDehydratorCoil();
@@ -693,7 +700,6 @@ public final class ModItems {
itemLavaFilter = new ItemLavaFilter();
itemGrindleTablet = new BaseItemGrindle();
-
itemDragonJar = new ItemEntityCatcher();
//Chemistry
@@ -712,11 +718,6 @@ public final class ModItems {
tI = new BaseItemMisc("Dull", new short[]{64,64,64}, 64, MiscTypes.GEM, null);
tI = new BaseItemMisc("Forest", new short[]{130,164,96}, 64, MiscTypes.MUSHROOM, new String[]{"You Found this on the ground.", "Definitely not sure if it's worth eating."});
- //Vanadium
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateVanadium", 1) == null){
- itemPlateVanadium = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium));
- }
-
//Baubles
if (LoadedMods.Baubles){
tI = new HealthBoostBauble();
@@ -775,9 +776,7 @@ public final class ModItems {
ItemUtils.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16);
itemPlateVoidMetal = ItemUtils.generateSpecialUsePlate("Void", "Void", new short[]{82, 17, 82}, 0);
GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal));
- } catch (final NullPointerException e){
- e.getClass();
- }
+ } catch (final NullPointerException e){}
}
else {
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java
index 501b881f9f..d5b44db9f5 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java
@@ -18,33 +18,32 @@ import net.minecraft.world.World;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.minecraft.NBTUtils;
public class BaseItemTickable extends CoreItem {
- public final String descriptionString;
- public final String descriptionString2;
+ public final String[] descriptionString;
public final int itemColour;
public final int maxTicks;
public final boolean twoRenderPasses;
+ public final boolean ticksInContainers;
public IIcon[] mIcon = new IIcon[2];
public BaseItemTickable(boolean twoPass, final String unlocalName, final int colour, final int maxTicks) {
- this(twoPass, unlocalName, colour, maxTicks, "");
+ this(false, twoPass, unlocalName, colour, maxTicks, new String[] {});
}
-
- public BaseItemTickable(boolean twoPass, final String unlocalName, final int colour, final int maxTicks, final String Description) {
- this(twoPass, unlocalName, colour, maxTicks, "", Description);
+
+ public BaseItemTickable(boolean containerTick, boolean twoPass, final String unlocalName, final int colour, final int maxTicks) {
+ this(containerTick, twoPass, unlocalName, colour, maxTicks, new String[] {});
}
- public BaseItemTickable(boolean twoPass, final String unlocalName, final int colour, final int maxTicks, final String Description, final String Description2) {
+ public BaseItemTickable(boolean containerTick, boolean twoPass, final String unlocalName, final int colour, final int maxTicks, final String[] Description) {
super(unlocalName, AddToCreativeTab.tabMisc, 1, 999999999, Description, EnumRarity.epic, EnumChatFormatting.DARK_RED, true, null);
this.itemColour = colour;
this.descriptionString = Description;
- this.descriptionString2 = Description2;
this.maxTicks = maxTicks;
this.twoRenderPasses = twoPass;
+ this.ticksInContainers = containerTick;
//setGregtechItemList();
}
@@ -53,7 +52,7 @@ public class BaseItemTickable extends CoreItem {
if (world == null || iStack == null) {
return;
}
- tickItemTag(iStack);
+ tickItemTag(world, iStack);
}
/*private final boolean setGregtechItemList() {
@@ -106,18 +105,24 @@ public class BaseItemTickable extends CoreItem {
}
- private boolean createNBT(ItemStack rStack){
+ private boolean createNBT(World world, ItemStack rStack){
final NBTTagCompound tagMain = new NBTTagCompound();
final NBTTagCompound tagNBT = new NBTTagCompound();
tagNBT.setLong("Tick", 0);
tagNBT.setLong("maxTick", this.maxTicks);
tagNBT.setBoolean("isActive", true);
+
+ //Try set world time
+ if (world != null) {
+ tagNBT.setLong("CreationDate", world.getTotalWorldTime());
+ }
+
tagMain.setTag("TickableItem", tagNBT);
rStack.setTagCompound(tagMain);
return true;
}
- public final long getFilterDamage(final ItemStack aStack) {
+ public final long getFilterDamage(World world, final ItemStack aStack) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
aNBT = aNBT.getCompoundTag("TickableItem");
@@ -126,12 +131,12 @@ public class BaseItemTickable extends CoreItem {
}
}
else {
- createNBT(aStack);
+ createNBT(world, aStack);
}
return 0L;
}
- public final boolean setFilterDamage(final ItemStack aStack, final long aDamage) {
+ public final boolean setFilterDamage(World world, final ItemStack aStack, final long aDamage) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
aNBT = aNBT.getCompoundTag("TickableItem");
@@ -141,12 +146,12 @@ public class BaseItemTickable extends CoreItem {
}
}
else {
- createNBT(aStack);
+ createNBT(world, aStack);
}
return false;
}
- public final boolean getIsActive(final ItemStack aStack) {
+ public final boolean getIsActive(World world, final ItemStack aStack) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
aNBT = aNBT.getCompoundTag("TickableItem");
@@ -155,12 +160,12 @@ public class BaseItemTickable extends CoreItem {
}
}
else {
- createNBT(aStack);
+ createNBT(world, aStack);
}
return true;
}
- public final boolean setIsActive(final ItemStack aStack, final boolean active) {
+ public final boolean setIsActive(World world, final ItemStack aStack, final boolean active) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
aNBT = aNBT.getCompoundTag("TickableItem");
@@ -170,28 +175,99 @@ public class BaseItemTickable extends CoreItem {
}
}
else {
- createNBT(aStack);
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean getTicksInContainer(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return aNBT.getBoolean("ticksInContainer");
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean setTicksInContainer(World world, final ItemStack aStack, final boolean active) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setBoolean("ticksInContainer", active);
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final long getDifferenceInWorldTimeToCreationTime(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return (world.getTotalWorldTime() - aNBT.getLong("CreationDate"));
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return 0L;
+ }
+
+ public final boolean setItemStackCreationTime(final ItemStack aStack, World world) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setLong("CreationDate", world.getTotalWorldTime());
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
}
return false;
}
- public final boolean tickItemTag(ItemStack aStack) {
+ public final boolean tickItemTag(World world, ItemStack aStack) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
- //Done Ticking
- if (maxTicks-getFilterDamage(aStack) <= 0) {
- setIsActive(aStack, false);
- }
- if (getIsActive(aStack)) {
+ if (aNBT.hasKey("TickableItem")) {
aNBT = aNBT.getCompoundTag("TickableItem");
- if (aNBT != null) {
- aNBT.setLong("Tick", getFilterDamage(aStack)+1);
- return true;
+
+ if (!aNBT.hasKey("CreationDate") && world != null) {
+ aNBT.setLong("CreationDate", world.getTotalWorldTime());
}
- }
+
+ //Done Ticking
+ if (maxTicks-getFilterDamage(world, aStack) <= 0) {
+ setIsActive(world, aStack, false);
+ }
+ if (getIsActive(world, aStack)) {
+ if (aNBT != null) {
+
+ //if ((world.getTotalWorldTime()-))
+
+ // Just tick once
+ aNBT.setLong("Tick", getFilterDamage(world, aStack)+1);
+
+
+ return true;
+ }
+ }
+ }
}
else {
- createNBT(aStack);
+ createNBT(world, aStack);
}
return false;
}
@@ -199,9 +275,9 @@ public class BaseItemTickable extends CoreItem {
@Override
public double getDurabilityForDisplay(ItemStack stack) {
if (stack.getTagCompound() == null){
- createNBT(stack);
+ createNBT(null, stack);
}
- double currentDamage = getFilterDamage(stack);
+ double currentDamage = getFilterDamage(null, stack);
double durabilitypercent = currentDamage / maxTicks;
return durabilitypercent;
}
@@ -209,29 +285,32 @@ public class BaseItemTickable extends CoreItem {
@SuppressWarnings("unchecked")
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
+ World world = player.getEntityWorld();
+ if (this.descriptionString.length > 0) {
+ list.add(EnumChatFormatting.GRAY+this.descriptionString[0]);
+ }
EnumChatFormatting durability = EnumChatFormatting.GRAY;
- if (maxTicks-getFilterDamage(stack) > (maxTicks*0.8)){
+ if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.8)){
durability = EnumChatFormatting.GRAY;
}
- else if (maxTicks-getFilterDamage(stack) > (maxTicks*0.6)){
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.6)){
durability = EnumChatFormatting.GREEN;
}
- else if (maxTicks-getFilterDamage(stack) > (maxTicks*0.4)){
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.4)){
durability = EnumChatFormatting.YELLOW;
}
- else if (maxTicks-getFilterDamage(stack) > (maxTicks*0.2)){
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.2)){
durability = EnumChatFormatting.GOLD;
}
- else if (maxTicks-getFilterDamage(stack) > 0){
+ else if (maxTicks-getFilterDamage(world, stack) > 0){
durability = EnumChatFormatting.RED;
}
- list.add(durability+""+((maxTicks-getFilterDamage(stack))/20)+EnumChatFormatting.GRAY+" seconds until decay");
+ list.add(durability+""+((maxTicks-getFilterDamage(world, stack))/20)+EnumChatFormatting.GRAY+" seconds until decay");
- if ((this.descriptionString != "") || !this.descriptionString.equals("")){
- list.add(EnumChatFormatting.GRAY+this.descriptionString);
- }
- if ((this.descriptionString2 != "") || !this.descriptionString2.equals("")){
- list.add(EnumChatFormatting.GRAY+this.descriptionString2);
+ if (this.descriptionString.length > 1) {
+ for (int h=1;h<this.descriptionString.length;h++) {
+ list.add(EnumChatFormatting.GRAY+this.descriptionString[h]);
+ }
}
//super.addInformation(stack, player, list, bool);
@@ -239,7 +318,7 @@ public class BaseItemTickable extends CoreItem {
@Override
public boolean showDurabilityBar(ItemStack stack) {
- return true;
+ return false;
}
diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
index 8aeab4cbd1..6c7f9cf6db 100644
--- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java
+++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
@@ -23,7 +23,7 @@ public class CoreItem extends Item
private final EnumRarity rarity;
private final EnumChatFormatting descColour;
- private final String itemDescription;
+ private final String[] itemDescription;
protected String itemName;
private final boolean hasEffect;
@@ -42,7 +42,7 @@ public class CoreItem extends Item
//0
/*
* Name, Tab - 64 Stack, 0 Dmg
- */
+ */
public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab)
{
this(unlocalizedName, creativeTab, 64, 0); //Calls 3
@@ -55,7 +55,7 @@ public class CoreItem extends Item
*/
public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final ItemStack OverrideItem)
{
- this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when held by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
+ this(unlocalizedName, creativeTab, 64, 0, new String[] {"This item will be replaced by another when held by a player, it is old and should not be used in recipes."}, EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
}
//0.1
/*
@@ -63,7 +63,7 @@ public class CoreItem extends Item
*/
public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab, final ItemStack OverrideItem)
{
- this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when held by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
+ this(unlocalizedName, creativeTab, 64, 0, new String[] {"This item will be replaced by another when held by a player, it is old and should not be used in recipes."}, EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
this.itemName = displayName;
}
@@ -79,7 +79,7 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Description - 0 Dmg
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final String description)
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final String[] description)
{
this(unlocalizedName, creativeTab, stackSize, 0, description); //Calls 4
}
@@ -87,15 +87,21 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg - Description
*/
+ public CoreItem(String unlocalizedName, CreativeTabs creativeTab, int stackSize, String string) {
+ this(unlocalizedName, creativeTab, stackSize, new String[] {string});
+ }
public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg)
{
- this(unlocalizedName, creativeTab, stackSize, maxDmg, ""); //Calls 4
+ this(unlocalizedName, creativeTab, stackSize, maxDmg, new String[] {}); //Calls 4
}
//4 //Not Rare + basic tooltip