diff options
Diffstat (limited to 'src/main/java/gregtech')
10 files changed, 46 insertions, 147 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java index de199ac057..e4fedf1fa1 100644 --- a/src/main/java/gregtech/GT_Mod.java +++ b/src/main/java/gregtech/GT_Mod.java @@ -1012,9 +1012,6 @@ public class GT_Mod implements IGT_Mod { } } - if (Loader.isModLoaded("bartworks")) - GT_BW_VoidminerLoader.initDeepDark(); - addSolidFakeLargeBoilerFuels(); achievements = new GT_Achievements(); diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 11c4ef4e6b..63c88cfd0a 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -57,7 +57,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE protected long mStoredEnergy = 0, mStoredSteam = 0; protected int mAverageEUInputIndex = 0, mAverageEUOutputIndex = 0; protected boolean mReleaseEnergy = false; - protected int[] mAverageEUInput = new int[]{0, 0, 0, 0, 0}, mAverageEUOutput = new int[]{0, 0, 0, 0, 0}; + protected long[] mAverageEUInput = new long[]{0, 0, 0, 0, 0}, mAverageEUOutput = new long[]{0, 0, 0, 0, 0}; private boolean[] mActiveEUInputs = new boolean[]{false, false, false, false, false, false}, mActiveEUOutputs = new boolean[]{false, false, false, false, false, false}; private byte[] mSidedRedstone = new byte[]{15, 15, 15, 15, 15, 15}; private int[] mCoverSides = new int[]{0, 0, 0, 0, 0, 0}, mCoverData = new int[]{0, 0, 0, 0, 0, 0}, mTimeStatistics = new int[GregTech_API.TICKS_FOR_LAG_AVERAGING]; @@ -1723,15 +1723,15 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE @Override public long getAverageElectricInput() { - int rEU = 0; - for (int tEU : mAverageEUInput) rEU += tEU; + long rEU = 0; + for (long tEU : mAverageEUInput) rEU += tEU; return rEU / mAverageEUInput.length; } @Override public long getAverageElectricOutput() { - int rEU = 0; - for (int tEU : mAverageEUOutput) rEU += tEU; + long rEU = 0; + for (long tEU : mAverageEUOutput) rEU += tEU; return rEU / mAverageEUOutput.length; } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java index 353a62c319..17dbd560a2 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java @@ -85,18 +85,17 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_ case 6: case 7: case 8: - if (Loader.isModLoaded("bartworks")) { + if (Loader.isModLoaded("bartworks")) {//todo remove via provider pattern on all enums? aRecipe[i] = "blockGlass"+VN[aTier]; break; } default: - if (Loader.isModLoaded("bartworks")) { + if (Loader.isModLoaded("bartworks")) {//todo remove via provider pattern on all enums? aRecipe[i] = "blockGlass"+VN[8]; - break; } else { aRecipe[i] = Ic2Items.reinforcedGlass; - break; } + break; } continue; } diff --git a/src/main/java/gregtech/api/util/GT_BartWorks_Compat.java b/src/main/java/gregtech/api/util/GT_BartWorks_Compat.java deleted file mode 100644 index eedae52716..0000000000 --- a/src/main/java/gregtech/api/util/GT_BartWorks_Compat.java +++ /dev/null @@ -1,48 +0,0 @@ -package gregtech.api.util; - -import com.github.bartimaeusnek.bartworks.API.VoidMinerDropAdder; -import com.github.bartimaeusnek.bartworks.API.WerkstoffAPI; -import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; -import gregtech.api.enums.Materials; -import gregtech.api.interfaces.ISubTagContainer; - -import java.lang.reflect.InvocationTargetException; -import java.util.Optional; - -public class GT_BartWorks_Compat { - - public static Materials getBartWorksMaterialByVarName(String name) { - Materials materials = Materials._NULL; - try { - materials = WerkstoffAPI.getWerkstoff(name).getBridgeMaterial(); - } catch (NoSuchFieldException | IllegalAccessException exception) { - exception.printStackTrace(); - } - return materials; - } - - public static Materials getBartWorksMaterialByODName(String name) { - Optional<Werkstoff> material = Werkstoff.werkstoffHashSet.stream().filter(e -> e.getVarName().equals(name)).findFirst(); - if (material.isPresent()) { - return material.get().getBridgeMaterial(); - } - return Materials._NULL; - } - - public static Materials getBartWorksMaterialByIGNName(String name) { - return Optional.ofNullable(Optional.ofNullable(Werkstoff.werkstoffNameHashMap.get(name)).orElse(Werkstoff.default_null_Werkstoff).getBridgeMaterial()).orElse(Materials._NULL); - } - - public static Materials getBartWorksMaterialByID(int id) { - return Optional.ofNullable(Optional.ofNullable(Werkstoff.werkstoffHashMap.get((short) id)).orElse(Werkstoff.default_null_Werkstoff).getBridgeMaterial()).orElse(Materials._NULL); - } - - public static void addVoidMinerDropsToDimension(int dimID, ISubTagContainer material, float chance){ - try { - VoidMinerDropAdder.addDropsToDim(dimID, material, chance); - } catch (InvocationTargetException | IllegalAccessException e) { - e.printStackTrace(); - } - } - -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index 3b08a1e81f..8584e849bb 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -783,10 +783,9 @@ public class GT_Utility { } catch (Exception e) { System.err.println(e); } - //ItemStack rStack = ItemList.Display_Fluid.getWithDamage(aUseStackSize ? aFluid.amount / 1000 : 1, tmp); ItemStack rStack = ItemList.Display_Fluid.getWithDamage(1, tmp); NBTTagCompound tNBT = new NBTTagCompound(); - tNBT.setLong("mFluidDisplayAmount", aFluid.amount); + tNBT.setLong("mFluidDisplayAmount", aUseStackSize ? aFluid.amount : 0); tNBT.setLong("mFluidDisplayHeat", aFluid.getFluid().getTemperature(aFluid)); tNBT.setBoolean("mFluidState", aFluid.getFluid().isGaseous(aFluid)); rStack.setTagCompound(tNBT); diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index fabd9432ac..20dbccf2cb 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -25,8 +25,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.MathHelper; -import java.util.Collection; -import java.util.List; +import java.util.*; public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { public static GT_MetaGenerated_Item_01 INSTANCE; @@ -861,7 +860,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GT_Values.RA.addAssemblerRecipe(ItemList.Emitter_MV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_NeedsMaintainance.get(1L, new Object[0]), 600, 24); } - private static boolean bw = Loader.isModLoaded("bartworks"); + private static final Map<Materials,Materials> cauldronRemap =new HashMap<>(); + + public static void registerCauldronCleaningFor(Materials in,Materials out){ + cauldronRemap.put(in,out); + } public boolean onEntityItemUpdate(EntityItem aItemEntity) { int aDamage = aItemEntity.getEntityItem().getItemDamage(); @@ -877,16 +880,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { - if (bw) { - if (aMaterial == Materials.Osmium) - aMaterial = GT_BartWorks_Compat.getBartWorksMaterialByIGNName("Rarest Metal Residue"); - else if (aMaterial == Materials.Iridium) - aMaterial = GT_BartWorks_Compat.getBartWorksMaterialByIGNName("Iridium Metal Residue"); - else if (aMaterial == Materials.Platinum) - aMaterial = GT_BartWorks_Compat.getBartWorksMaterialByIGNName("Platinum Metallic Powder"); - else if (aMaterial == Materials.Palladium) - aMaterial = GT_BartWorks_Compat.getBartWorksMaterialByIGNName("Palladium Metallic Powder"); - } + aMaterial= cauldronRemap.getOrDefault(aMaterial,aMaterial); aItemEntity.setEntityItemStack(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, aItemEntity.getEntityItem().stackSize)); aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); diff --git a/src/main/java/gregtech/common/render/GT_FluidDisplayStackRenderer.java b/src/main/java/gregtech/common/render/GT_FluidDisplayStackRenderer.java index 4085a24190..06c186d127 100644 --- a/src/main/java/gregtech/common/render/GT_FluidDisplayStackRenderer.java +++ b/src/main/java/gregtech/common/render/GT_FluidDisplayStackRenderer.java @@ -15,7 +15,6 @@ import org.lwjgl.opengl.GL11; @SideOnly(cpw.mods.fml.relauncher.Side.CLIENT) public class GT_FluidDisplayStackRenderer implements IItemRenderer { - private static final float smallTextScale = 0.5f; public GT_FluidDisplayStackRenderer() { MinecraftForgeClient.registerItemRenderer(ItemList.Display_Fluid.getItem(), this); @@ -41,25 +40,14 @@ public class GT_FluidDisplayStackRenderer implements IItemRenderer { if (item == null || item.getItem() == null || !(item.getItem() instanceof GT_FluidDisplayItem)) return; - Tessellator tess = Tessellator.instance; - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); OpenGlHelper.glBlendFunc(770, 771, 1, 0); - - int l = item.getItem().getColorFromItemStack(item, 0); - float f3 = (float)(l >> 16 & 255) / 255.0F; - float f4 = (float)(l >> 8 & 255) / 255.0F; - float f = (float)(l & 255) / 255.0F; - GL11.glColor4f(f3, f4, f, 1.0F); - - GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_ALPHA_TEST); IIcon icon = item.getItem().getIconFromDamage(item.getItemDamage()); - tess.startDrawingQuads(); + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); // draw a simple rectangle for the inventory icon final float x_min = icon.getMinU(); final float x_max = icon.getMaxU(); @@ -71,12 +59,6 @@ public class GT_FluidDisplayStackRenderer implements IItemRenderer { tess.addVertexWithUV( 0, 0, 0, x_min, y_min); tess.draw(); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDisable(GL11.GL_BLEND); - - GL11.glPopMatrix(); - if(item.getTagCompound() == null) return; @@ -91,22 +73,20 @@ public class GT_FluidDisplayStackRenderer implements IItemRenderer { int exp = (int) (Math.log(fluidAmount) / Math.log(1000)); double shortAmount = fluidAmount / Math.pow(1000, exp); if ( shortAmount >= 100) { - amountString = String.format("%.0f%cL", shortAmount, "kMGT".charAt(exp - 1)); + amountString = String.format("%.0f%cL", shortAmount, "kMGTPE".charAt(exp - 1)); //heard it here first, PetaLiters } else if ( shortAmount >= 10) { - amountString = String.format("%.1f%cL", shortAmount, "kMGT".charAt(exp - 1)); + amountString = String.format("%.1f%cL", shortAmount, "kMGTPE".charAt(exp - 1)); } else { - amountString = String.format("%.2f%cL", shortAmount, "kMGT".charAt(exp - 1)); + amountString = String.format("%.2f%cL", shortAmount, "kMGTPE".charAt(exp - 1)); } } FontRenderer fontRender = Minecraft.getMinecraft().fontRenderer; - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); + float smallTextScale = fontRender.getUnicodeFlag() ? 3F/4F : 1F/2F; GL11.glDisable(GL11.GL_BLEND); - GL11.glScalef(smallTextScale, smallTextScale, smallTextScale); //TODO: how to make this pretty at all scales? - fontRender.drawString( amountString, 0, 16*2 - fontRender.FONT_HEIGHT + 1, 0xFFFFFF, true); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glScalef(smallTextScale, smallTextScale, 1.0f); + + fontRender.drawString( amountString, 0, (int) (16/smallTextScale) - fontRender.FONT_HEIGHT + 1, 0xFFFFFF, true); } } } diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java index c135740096..938c2d6900 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java @@ -77,6 +77,7 @@ public class GT_MetaTileEntity_Boxinator //In case recipe is too OP for that machine if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + return FOUND_AND_SUCCESSFULLY_USED_RECIPE; } } return DID_NOT_FIND_RECIPE; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java index d6e31418f5..b57f0396a8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java @@ -71,7 +71,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas int mGlassCount = 0; boolean doorState = false; this.mUpdate = 100; - + if (debugCleanroom) { GT_Log.out.println( "Cleanroom: Checking machine" @@ -83,13 +83,25 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) { if (tBlock == GregTech_API.sBlockReinforced || tMeta == 2) { x = i; + break; + } else { + if (debugCleanroom) { + GT_Log.out.println("Cleanroom: Unable to detect room X edge?"); + } + return false; + } + } + } + for (int i = 1; i < 8; i++) { + Block tBlock = aBaseMetaTileEntity.getBlockOffset(0, 0, i); + int tMeta = aBaseMetaTileEntity.getMetaIDOffset(0, 0, i); + if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) { + if (tBlock == GregTech_API.sBlockReinforced || tMeta == 2) { z = i; break; } else { if (debugCleanroom) { - GT_Log.out.println( - "Cleanroom: Unable to detect room edge?" - ); + GT_Log.out.println("Cleanroom: Unable to detect room Z edge?"); } return false; } @@ -147,7 +159,10 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas if ((!this.addMaintenanceToMachineList(tTileEntity, 82)) && (!this.addEnergyInputToMachineList(tTileEntity, 82))) { if (tBlock instanceof ic2.core.block.BlockIC2Door) { if ((tMeta & 8) == 0) { - doorState = (Math.abs(dX) > Math.abs(dZ) == ((tMeta & 1) != 0)) != ((tMeta & 4) != 0); + if (Math.abs(dY) < y) //x - side + doorState = (tMeta & 0x5) == 0x4 || (tMeta & 0x5) == 0x1; + else if (Math.abs(dX) < x) //y-side, corners ignored. + doorState = (tMeta & 0x5) == 0x5 || (tMeta & 0x5) == 0x0; } mDoorCount++; } else { diff --git a/src/main/java/gregtech/loaders/postload/GT_BW_VoidminerLoader.java b/src/main/java/gregtech/loaders/postload/GT_BW_VoidminerLoader.java deleted file mode 100644 index 3576d70ef5..0000000000 --- a/src/main/java/gregtech/loaders/postload/GT_BW_VoidminerLoader.java +++ /dev/null @@ -1,38 +0,0 @@ -package gregtech.loaders.postload; - - -import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.ISubTagContainer; - -import java.util.Arrays; - -import static gregtech.api.enums.Materials.values; -import static gregtech.api.util.GT_BartWorks_Compat.addVoidMinerDropsToDimension; - -public class GT_BW_VoidminerLoader { - - private GT_BW_VoidminerLoader() { - } - - private static final int DEEPDARK_ID = 100; - - private static boolean hasOres(Materials materials){ - return (materials.mTypes & 8) != 0; - } - - private static boolean hasOres(Werkstoff materials){ - return materials.hasItemType(OrePrefixes.ore); - } - - private static void addVoidDimerDrops(ISubTagContainer materials){ - addVoidMinerDropsToDimension(DEEPDARK_ID, materials, 1f); - } - - public static void initDeepDark() { - Arrays.stream(values()).filter(GT_BW_VoidminerLoader::hasOres).forEach(GT_BW_VoidminerLoader::addVoidDimerDrops); - Werkstoff.werkstoffHashSet.stream().filter(GT_BW_VoidminerLoader::hasOres).forEach(GT_BW_VoidminerLoader::addVoidDimerDrops); - } - -}
\ No newline at end of file |