From 10d4c7d4b4fd651d64f17936a916785b36a43f92 Mon Sep 17 00:00:00 2001
From: Alkalus <3060479+draknyte1@users.noreply.github.com>
Date: Sun, 8 Dec 2019 02:00:35 +0000
Subject: + Added an assembly recipe for tier 1 Round Robinators. + Added
localization for Rotor Housing achievement. + Added the Algae Farm (WIP). -
Removed Durability bar on Iridium Rotors. - Reverted 2A hatch fix on
Multiblocks. % Adjusted all Robinator recipes, removing the fluid
requirements. $ Fixed Robinators Crashing on Servers. $ Implemented new
backend for all future non-GT tile entities.
---
.../xmod/ic2/item/CustomKineticRotor.java | 274 +++++++++++++++++++++
src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java | 68 ++---
.../gtPlusPlus/xmod/ic2/item/RotorIridium.java | 5 +
3 files changed, 305 insertions(+), 42 deletions(-)
create mode 100644 src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
(limited to 'src/Java/gtPlusPlus/xmod/ic2/item')
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
new file mode 100644
index 0000000000..e433396a1b
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
@@ -0,0 +1,274 @@
+package gtPlusPlus.xmod.ic2.item;
+
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.lib.LoadedMods;
+import ic2.api.item.IKineticRotor;
+import ic2.core.IC2;
+import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
+import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+
+public class CustomKineticRotor extends Item implements IKineticRotor {
+
+ private final int mTier;
+
+ @SideOnly(Side.CLIENT)
+ private final IIcon[] mTextures = new IIcon[6];
+
+ private static final String[] mRegistrationNames = new String[] {
+ "itemwoodrotor", "itemironrotor", "itemsteelrotor", "itemwcarbonrotor"
+ };
+
+ private static final String[] mUnlocalNames = new String[] {
+ "itemEnergeticRotor",
+ "itemTungstenSteelRotor",
+ "itemVibrantRotor",
+ "itemIridiumRotor",
+ "itemMagnaliumRotor",
+ "itemUltimetRotor",
+ };
+ private static final int[] mMaxDurability = new int[] {
+ 512000, 809600, 1600000, 3200000
+ };
+ private static final int[] mRadius = new int[] {
+ 9, 11, 13, 15
+ };
+ private static final float[] mEfficiency = new float[] {
+ 0.9f, 1.0f, 1.2f, 1.5f
+ };
+ private static final int[] mMinWindStrength = new int[] {
+ 12, 14, 16, 18
+ };
+ private static final int[] mMaxWindStrength = new int[] {
+ 80, 120, 160, 320
+ };
+
+ private static final ResourceLocation[] mResourceLocations = new ResourceLocation[] {
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png"),
+ };
+
+ private final int maxWindStrength;
+ private final int minWindStrength;
+ private final int radius;
+ private final float efficiency;
+ private final ResourceLocation renderTexture;
+
+ public CustomKineticRotor(int aTier) {
+ mTier = aTier;
+ this.setMaxStackSize(1);
+ // Handle Differences if EIO is not loaded
+ if (!LoadedMods.EnderIO && (aTier == 0 || aTier == 2)) {
+ this.renderTexture = mResourceLocations[(aTier == 0 ? 4 : 5)];
+ this.setUnlocalizedName(mUnlocalNames[(aTier == 0 ? 4 : 5)]);
+ }
+ else {
+ this.renderTexture = mResourceLocations[aTier];
+ this.setUnlocalizedName(mUnlocalNames[aTier]);
+ }
+ this.setMaxDamage(mMaxDurability[aTier]);
+ this.radius = mRadius[aTier];
+ this.efficiency = mEfficiency[aTier];
+ this.minWindStrength = mMinWindStrength[aTier];
+ this.maxWindStrength = mMaxWindStrength[aTier];
+ this.setNoRepair();
+ this.setCreativeTab(IC2.tabIC2);
+ GameRegistry.registerItem(this, mRegistrationNames[aTier]);
+ }
+
+ @Override
+ public void setDamage(final ItemStack stack, final int damage) {
+ if (mTier < 3) {
+ super.setDamage(stack, damage);
+ }
+ }
+
+ @Override
+ public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) {
+
+ info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[]{this.minWindStrength, this.maxWindStrength}));
+
+ GearboxType type = null;
+ if (Minecraft.getMinecraft().currentScreen != null && Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) {
+ type = GearboxType.WATER;
+ }
+ else if (Minecraft.getMinecraft().currentScreen != null && Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) {
+ type = GearboxType.WIND;
+ }
+
+ if (type != null) {
+ info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + this.isAcceptedType(itemStack, type)));
+ }
+
+ }
+
+ @Override
+ public int getDiameter(final ItemStack stack)
+ {
+ return this.radius;
+ }
+
+ @Override
+ public ResourceLocation getRotorRenderTexture(final ItemStack stack)
+ {
+ return this.renderTexture;
+ }
+
+ @Override
+ public float getEfficiency(final ItemStack stack)
+ {
+ return this.efficiency;
+ }
+
+ @Override
+ public int getMinWindStrength(final ItemStack stack)
+ {
+ return this.minWindStrength;
+ }
+
+ @Override
+ public int getMaxWindStrength(final ItemStack stack)
+ {
+ return this.maxWindStrength;
+ }
+
+ @Override
+ public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type){
+ return (type == IKineticRotor.GearboxType.WIND) || (type == IKineticRotor.GearboxType.WATER);
+ }
+
+ public String getUnlocalizedName() {
+ return "ic2." + super.getUnlocalizedName().substring(5);
+ }
+
+ public String getUnlocalizedName(ItemStack itemStack) {
+ return this.getUnlocalizedName();
+ }
+
+ public String getItemStackDisplayName(ItemStack itemStack) {
+ return StatCollector.translateToLocal(this.getUnlocalizedName(itemStack));
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return mTier < 3;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(int meta) {
+ if (!LoadedMods.EnderIO && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ }
+ else {
+ return mTextures[5];
+ }
+ }
+ else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconIndex(ItemStack aIndex) {
+ if (!LoadedMods.EnderIO && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ }
+ else {
+ return mTextures[5];
+ }
+ }
+ else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamageForRenderPass(int aDmg, int aPass) {
+ if (!LoadedMods.EnderIO && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ }
+ else {
+ return mTextures[5];
+ }
+ }
+ else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ protected String getIconString() {
+ return super.getIconString();
+ }
+
+ @Override
+ public int getDisplayDamage(ItemStack stack) {
+ return super.getDisplayDamage(stack);
+ }
+
+ @Override
+ public double getDurabilityForDisplay(ItemStack stack) {
+ return super.getDurabilityForDisplay(stack);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ if (!LoadedMods.EnderIO && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ }
+ else {
+ return mTextures[5];
+ }
+ }
+ else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int pass) {
+ if (!LoadedMods.EnderIO && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ }
+ else {
+ return mTextures[5];
+ }
+ }
+ else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ public void registerIcons(IIconRegister iconRegister) {
+ int aIndex = 0;
+ for (String y : mUnlocalNames) {
+ mTextures[aIndex++] = iconRegister.registerIcon(IC2.textureDomain + ":" + "rotors/" + y);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
index 64aa7f99bf..862ba38748 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
@@ -1,13 +1,9 @@
package gtPlusPlus.xmod.ic2.item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.lib.LoadedMods;
-import ic2.core.IC2;
-import ic2.core.init.InternalName;
+import net.minecraft.item.ItemStack;
public class IC2_Items {
@@ -29,45 +25,33 @@ public class IC2_Items {
public static ItemStack blockRTG;
public static ItemStack blockKineticGenerator;
- public static void register(){
+ private static final String[] mData1 = new String[] {"itemEnergeticRotorBlade", "itemMagnaliumRotorBlade"};
+ private static final String[] mData2 = new String[] {"itemEnergeticShaft", "itemMagnaliumShaft"};
+ private static final String[] mData3 = new String[] {"itemVibrantRotorBlade", "itemUltimetRotorBlade"};
+ private static final String[] mData4 = new String[] {"itemVibrantShaft", "itemUltimetShaft"};
+
- if(LoadedMods.EnderIO){
- //Tier 1
- rotor_Blade_Material_1 = new ItemStack (new CoreItem("itemEnergeticRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_1 = new ItemStack (new CoreItem("itemEnergeticShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_1 = new ItemStack (new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemEnergeticRotor"));
- //Tier 2
- rotor_Blade_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_2 = new ItemStack (new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor"));
- //Tier 3
- rotor_Blade_Material_3 = new ItemStack (new CoreItem("itemVibrantRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_3 = new ItemStack (new CoreItem("itemVibrantShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_3 = new ItemStack (new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemVibrantRotor"));
- //Tier 4
- rotor_Blade_Material_4 = new ItemStack (new CoreItem("itemIridiumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_4 = new ItemStack (new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_4 = new ItemStack (new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemIridiumRotor"));
+ public static void register(){
- }
- else {
- //Tier 1 - Magnalium
- rotor_Blade_Material_1 = new ItemStack (new CoreItem("itemMagnaliumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_1 = new ItemStack (new CoreItem("itemMagnaliumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_1 = new ItemStack (new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemMagnaliumRotor"));
- //Tier 2
- rotor_Blade_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_2 = new ItemStack (new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor"));
- //Tier 3 - Ultimet
- rotor_Blade_Material_3 = new ItemStack (new CoreItem("itemUltimetRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_3 = new ItemStack (new CoreItem("itemUltimetShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_3 = new ItemStack (new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemUltimetRotor"));
- //Tier 4
- rotor_Blade_Material_4 = new ItemStack (new CoreItem("itemIridiumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- shaft_Material_4 = new ItemStack (new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
- rotor_Material_4 = new ItemStack (new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemIridiumRotor"));
- }
+ int aIndexEIO = (LoadedMods.EnderIO ? 0 : 1);
+
+ // Rotor Blades
+ rotor_Blade_Material_1 = new ItemStack (new CoreItem(mData1[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_3 = new ItemStack (new CoreItem(mData3[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_4 = new ItemStack (new CoreItem("itemIridiumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+
+ // Rotor Shafts
+ shaft_Material_1 = new ItemStack (new CoreItem(mData2[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ shaft_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ shaft_Material_3 = new ItemStack (new CoreItem(mData4[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ shaft_Material_4 = new ItemStack (new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+
+ // Rotors
+ rotor_Material_1 = new ItemStack (new CustomKineticRotor(0));
+ rotor_Material_2 = new ItemStack (new CustomKineticRotor(1));
+ rotor_Material_3 = new ItemStack (new CustomKineticRotor(2));
+ rotor_Material_4 = new ItemStack (new CustomKineticRotor(3));
}
}
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
index aca1c6a310..b9dffbd371 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
@@ -118,5 +118,10 @@ public class RotorIridium extends RotorBase{
this.setCustomDamage(stack, this.getCustomDamage(stack) + damage);
return true;
}
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
}
--
cgit
From 4c61569581179dd0f924b7594871d15c9f1a564d Mon Sep 17 00:00:00 2001
From: Alkalus <3060479+draknyte1@users.noreply.github.com>
Date: Fri, 13 Dec 2019 18:00:26 +0000
Subject: $ Fixed Client Field appearing on Server Side.
---
src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
(limited to 'src/Java/gtPlusPlus/xmod/ic2/item')
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
index e433396a1b..326789d7e2 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
@@ -6,6 +6,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.Utils;
import ic2.api.item.IKineticRotor;
import ic2.core.IC2;
import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
@@ -24,7 +25,7 @@ public class CustomKineticRotor extends Item implements IKineticRotor {
private final int mTier;
@SideOnly(Side.CLIENT)
- private final IIcon[] mTextures = new IIcon[6];
+ private final IIcon[] mTextures;
private static final String[] mRegistrationNames = new String[] {
"itemwoodrotor", "itemironrotor", "itemsteelrotor", "itemwcarbonrotor"
@@ -71,6 +72,12 @@ public class CustomKineticRotor extends Item implements IKineticRotor {
public CustomKineticRotor(int aTier) {
mTier = aTier;
+ if (Utils.isClient()) {
+ mTextures = new IIcon[6];
+ }
+ else {
+ mTextures = null;
+ }
this.setMaxStackSize(1);
// Handle Differences if EIO is not loaded
if (!LoadedMods.EnderIO && (aTier == 0 || aTier == 2)) {
--
cgit
From 3f621510092078d8b7de66d29661f1a779b326b5 Mon Sep 17 00:00:00 2001
From: Alkalus <3060479+draknyte1@users.noreply.github.com>
Date: Wed, 18 Dec 2019 22:39:39 +0000
Subject: + Added a new Build Script. - Removed all libraries found via Maven.
$ Fixed Minor Crash.
---
.gitignore | 7 +
.project | 6 +
build.gradle | 225 ++++++++++++---------
build.properties | 7 +
src/Java/gtPlusPlus/COPYRIGHT.MD | 18 ++
.../advanced/GregtechMetaTileEntity_Adv_EBF.java | 2 +
.../xmod/ic2/item/CustomKineticRotor.java | 9 +-
7 files changed, 172 insertions(+), 102 deletions(-)
create mode 100644 build.properties
create mode 100644 src/Java/gtPlusPlus/COPYRIGHT.MD
(limited to 'src/Java/gtPlusPlus/xmod/ic2/item')
diff --git a/.gitignore b/.gitignore
index 9edc02f6d4..bd55342d81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -132,3 +132,10 @@ scripts
/src/Java/gtPlusPlus/xmod/thermalfoundation/asm/OreDictionaryArbiter_ASM.java
/GeneratedIcons
/unused libs
+/world
+/server.properties
+/servers.dat
+/GregTech.cfg
+/GregTech.lang
+/GTPP.dat
+/PlayerCache.dat
diff --git a/.project b/.project
index c7f1fc2c84..855909c5c0 100644
--- a/.project
+++ b/.project
@@ -10,6 +10,11 @@
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder
@@ -19,5 +24,6 @@
org.eclipse.jdt.core.javanature
edu.umd.cs.findbugs.plugin.eclipse.findbugsNature
+ org.eclipse.buildship.core.gradleprojectnature
diff --git a/build.gradle b/build.gradle
index 88a082e793..381e6dab71 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,15 @@
buildscript {
repositories {
- jcenter()
mavenCentral()
- maven {
- name = "forge"
- url = "http://files.minecraftforge.net/maven"
- }
+ jcenter()
+ //maven {
+ // name = "forge"
+ // url = "http://files.minecraftforge.net/maven"
+ //}
+ maven {
+ name = "gt"
+ url = "https://gregtech.overminddl1.com/"
+ }
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
@@ -20,103 +24,135 @@ buildscript {
}
}
-apply plugin: 'forge'
-apply plugin: 'idea'
-apply plugin: 'java'
-apply plugin: 'maven'
-apply plugin: 'se.bjurr.gitchangelog.git-changelog-gradle-plugin'
-
-idea { module { inheritOutputDirs = true } }
-
+// Because Forge is too stupid to fix Deprecation Issues, and we cannot fix it on our end! (until we fork Forge)
+allprojects {
+ tasks.withType(JavaCompile) {
+ //options.compilerArgs << "-Xlint:deprecation"
+ }
+ tasks.withType(Javadoc) {
+- options.addStringOption('Xdoclint:none', '-quiet')
+- }
+}
-sourceSets {
- main {
- java { srcDirs = ["$projectDir/src/Java"] }
- resources { srcDirs = ["$projectDir/src/resources"] }
- }
+apply plugin: 'eclipse'
+eclipse {
+ classpath {
+ downloadJavadoc = true
+ downloadSources = true
+ }
}
-configurations {
- //fatJar
+apply plugin: 'idea'
+idea{
+ module {
+ downloadJavadoc = true
+ downloadSources = true
+ }
}
-dependencies {
- compile fileTree(dir: 'libs', include: '*.jar')
- //testCompile 'junit:junit:4.12'
- //fatJar files('libs/Segment-2.1.1.jar')
+apply plugin: 'forge'
+
+file "build.properties" withReader {
+ def prop = new Properties()
+ prop.load(it)
+ ext.config = new ConfigSlurper().parse prop
}
+
+apply plugin: 'se.bjurr.gitchangelog.git-changelog-gradle-plugin'
+
+version = "${config.gtpp.version}"
+group= "gtPlusPlus"
+archivesBaseName = "GT-PlusPlus"
+
+
//Java Version
-sourceCompatibility = JavaVersion.VERSION_1_8
-targetCompatibility = JavaVersion.VERSION_1_8
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
//Compile against UTF-8
-compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'
-
-//Jar Info
-archivesBaseName = "GT-PlusPlus"
-version = "1.7.02.99-pre"
-minecraft.version = "1.7.10-10.13.4.1614-1.7.10"
+compileJava.options.encoding = 'UTF-8'
minecraft {
- version = "1.7.10-10.13.4.1614-1.7.10"
- runDir = "$projectDir"
+ version = "${config.minecraft.version}-${config.forge.version}"
+ runDir = "eclipse"
}
-//Gradle Tweak
-//Prevent java 8's strict doclint for javadocs from failing builds
-allprojects {
- tasks.withType(Javadoc) {
- options.addStringOption('Xdoclint:none', '-quiet')
- }
+idea { module { inheritOutputDirs = true } }
+
+configurations {
+ provided
+ embedded
+ compile.extendsFrom provided, embedded
}
-//Maven
repositories {
+ maven {
+ name = "gt"
+ url = "http://gregtech.overminddl1.com/"
+ }
maven {
name = "ic2"
url = "http://maven.ic2.player.to/"
}
}
-task discordChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
- file = new File("CHANGELOG Basic ${project.version}.txt");
- untaggedName = "Current Basic release ${project.version}"
- fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1"
- toRef = "HEAD"
- templateContent = file('changeloggeneral.mustache').getText('UTF-8')
-}
-task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
- file = new File("CHANGELOG ${project.version}.md");
- untaggedName = "Current release ${project.version}"
- fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1"
- toRef = "HEAD"
- templateContent = file('changelog.mustache').getText('UTF-8')
+sourceSets {
+ main {
+ java { srcDirs = ["$projectDir/src/Java"] }
+ resources { srcDirs = ["$projectDir/src/resources"] }
+ }
}
-task curseChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
- file = new File("CHANGELOG Curse ${project.version}.md");
- untaggedName = "Current Curse release ${project.version}"
- fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1"
- toRef = "HEAD"
- templateContent = file('changelogcurse.mustache').getText('UTF-8')
+
+dependencies {
+
+ provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
+
+ compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev"
+ compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
+ compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev"
+ compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
+
+ compile "com.enderio.core:EnderCore:1.7.10-0.2.0.39_beta:dev"
+ compile "com.enderio:EnderIO:1.7.10-2.3.0.430_beta:dev"
+
+ compile "cofh:CoFHCore:1.7.10R3.0.4:dev"
+ compile "cofh:CoFHLib:1.7.10R3.0.3:dev"
+ compileOnly "net.sengir.forestry:forestry_1.7.10:4.2.16.64:dev"
+ compileOnly "mods.railcraft:Railcraft_1.7.10:9.12.3.0:dev"
+
+ //compileOnly "micdoodle8.mods:GalacticraftCore:1.7-3.0.12.504:Dev"
+ //compileOnly "micdoodle8.mods:MicdoodleCore:1.7-3.0.12.504:Dev"
+
+ compileOnly "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev"
+ compile "com.azanor.baubles:Baubles:1.7.10-1.0.1.10:deobf"
+
+ compile fileTree(dir: 'libs', include: '*.jar')
}
-//task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
-// file = new File("CHANGELOG.md");
-// templateContent = file('changelog.mustache').getText('UTF-8');
-//}
-jar {
- archiveName = archivesBaseName + "-" + version + ".jar"
- manifest {
- attributes 'FMLCorePlugin': 'gtPlusPlus.preloader.asm.Preloader_FMLLoadingPlugin'
- attributes 'FMLCorePluginContainsFMLMod': 'true'
+processResources
+{
+ // this will ensure that this task is redone when the versions change.
+ inputs.property "version", project.version
+ inputs.property "mcversion", project.minecraft.version
+
+ // replace stuff in mcmod.info, nothing else
+ from(sourceSets.main.resources.srcDirs) {
+ include 'mcmod.info'
+
+ // replace version and mcversion
+ expand 'version':project.version, 'mcversion':project.minecraft.version
+ }
+
+ // copy everything else, thats not the mcmod.info
+ from(sourceSets.main.resources.srcDirs) {
+ exclude 'mcmod.info'
}
- //from configurations.fatJar.collect { it.isDirectory() ? it : zipTree(it) }
+ exclude '**/Thumbs.db'
}
-
task sourceJar(type: Jar) {
from sourceSets.main.allSource
classifier = 'sources'
@@ -135,6 +171,28 @@ task devJar(type: Jar) {
}
}
+task discordChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
+ file = new File("build/changelog/Basic ${project.version}.txt");
+ untaggedName = "Current Basic release ${project.version}"
+ fromCommit = "${config.commit.hash}"
+ toRef = "HEAD"
+ templateContent = file('changeloggeneral.mustache').getText('UTF-8')
+}
+task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
+ file = new File("build/changelog/${project.version}.md");
+ untaggedName = "Current release ${project.version}"
+ fromCommit = "${config.commit.hash}"
+ toRef = "HEAD"
+ templateContent = file('changelog.mustache').getText('UTF-8')
+}
+task curseChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) {
+ file = new File("build/changelog/Curse ${project.version}.md");
+ untaggedName = "Current Curse release ${project.version}"
+ fromCommit = "${config.commit.hash}"
+ toRef = "HEAD"
+ templateContent = file('changelogcurse.mustache').getText('UTF-8')
+}
+
artifacts {
archives devJar
archives sourceJar
@@ -142,27 +200,4 @@ artifacts {
build.finalizedBy(gitChangelogTask)
build.finalizedBy(curseChangelogTask)
-build.finalizedBy(discordChangelogTask)
-
-processResources {
- // this will ensure that this task is redone when the versions change.
- inputs.property "version", project.version
- inputs.property "mcversion", project.minecraft.version
-
- // replace stuff in mcmod.info, nothing else
- from(sourceSets.main.resources.srcDirs) {
- include 'mcmod.info'
- // replace version and mcversion
- expand 'version':project.version, 'mcversion':project.minecraft.version
- }
-
- // copy everything else, thats not the mcmod.info
- from(sourceSets.main.resources.srcDirs) {
- exclude 'mcmod.info'
- exclude '**/*.md'
- }
-}
-
-def getBuildNumber() {
- return "$System.env.BUILD_NUMBER" != "null" ? "$System.env.BUILD_NUMBER" : "0"
-}
+build.finalizedBy(discordChangelogTask)
\ No newline at end of file
diff --git a/build.properties b/build.properties
new file mode 100644
index 0000000000..5c691ec259
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,7 @@
+minecraft.version=1.7.10
+forge.version=10.13.4.1614-1.7.10
+ic2.version=2.2.790-experimental
+gt.version=5.09.31
+gtpp.version=1.7.04
+
+commit.hash=aa9f04218e5298414f900b9fe61131f7ed26b8f1
\ No newline at end of file
diff --git a/src/Java/gtPlusPlus/COPYRIGHT.MD b/src/Java/gtPlusPlus/COPYRIGHT.MD
new file mode 100644
index 0000000000..6c199fa5fe
--- /dev/null
+++ b/src/Java/gtPlusPlus/COPYRIGHT.MD
@@ -0,0 +1,18 @@
+COPYRIGHT TEMPLATE
+
+Copyright (c) ${date} AlkCorp.
+
+All rights reserved.
+Distribution of the software in any form is only allowed with explicit,
+prior permission from the owner.
+
+This class is provided freely and may be decompiled and modified for private use,
+either with a decompiler or a bytecode editor. Public use of modified or derivative versions
+is prohibited unless you are given specific written permission.
+
+Distribution of the source code, modified (including custom compilation) or otherwise,
+is prohibited by anyone except the author, except in the case of a derivative mod that has
+been given prior approval. Creating derivative works for commercial use is expressly forbidden
+and the owner reserves full right to seek damages.
+
+Contributors: https://github.com/alkcorp/GTplusplus/graphs/contributors
\ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 4d38e686cf..71cb15474b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -188,6 +188,8 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
}
}
}
+
+ // TODO - Fix Casing Count
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
index 326789d7e2..92d711101b 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
@@ -25,7 +25,7 @@ public class CustomKineticRotor extends Item implements IKineticRotor {
private final int mTier;
@SideOnly(Side.CLIENT)
- private final IIcon[] mTextures;
+ private IIcon[] mTextures;
private static final String[] mRegistrationNames = new String[] {
"itemwoodrotor", "itemironrotor", "itemsteelrotor", "itemwcarbonrotor"
@@ -72,12 +72,6 @@ public class CustomKineticRotor extends Item implements IKineticRotor {
public CustomKineticRotor(int aTier) {
mTier = aTier;
- if (Utils.isClient()) {
- mTextures = new IIcon[6];
- }
- else {
- mTextures = null;
- }
this.setMaxStackSize(1);
// Handle Differences if EIO is not loaded
if (!LoadedMods.EnderIO && (aTier == 0 || aTier == 2)) {
@@ -274,6 +268,7 @@ public class CustomKineticRotor extends Item implements IKineticRotor {
@Override
public void registerIcons(IIconRegister iconRegister) {
int aIndex = 0;
+ mTextures = new IIcon[6];
for (String y : mUnlocalNames) {
mTextures[aIndex++] = iconRegister.registerIcon(IC2.textureDomain + ":" + "rotors/" + y);
}
--
cgit