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