aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/GT_Client.java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/gregtech/common/GT_Client.java
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/gregtech/common/GT_Client.java')
-rw-r--r--src/main/java/gregtech/common/GT_Client.java1073
1 files changed, 0 insertions, 1073 deletions
diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java
deleted file mode 100644
index 66e042a051..0000000000
--- a/src/main/java/gregtech/common/GT_Client.java
+++ /dev/null
@@ -1,1073 +0,0 @@
-// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
-// Jad home page: http://www.kpdus.com/jad.html
-// Decompiler options: packimports(3)
-// Source File Name: GT_Client.java
-
-package gregtech.common;
-
-import static gregtech.api.enums.GT_Values.calculateMaxPlasmaTurbineEfficiency;
-import static gregtech.api.enums.Mods.Forestry;
-import static gregtech.api.enums.Mods.GregTech;
-import static org.lwjgl.opengl.GL11.GL_LINE_LOOP;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
-import java.util.function.Function;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.GLAllocation;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.resources.IReloadableResourceManager;
-import net.minecraft.client.resources.IResourceManager;
-import net.minecraft.client.resources.IResourceManagerReloadListener;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.ChunkCoordIntPair;
-import net.minecraft.world.World;
-import net.minecraftforge.client.event.DrawBlockHighlightEvent;
-import net.minecraftforge.client.event.sound.SoundSetupEvent;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.oredict.OreDictionary;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL20;
-
-import com.glodblock.github.nei.recipes.FluidRecipe;
-import com.glodblock.github.nei.recipes.extractor.GregTech5RecipeExtractor;
-import com.gtnewhorizon.structurelib.alignment.IAlignment;
-import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider;
-
-import appeng.api.util.IOrientable;
-import appeng.tile.misc.TileInterface;
-import codechicken.lib.vec.Rotation;
-import codechicken.lib.vec.Scale;
-import codechicken.lib.vec.Transformation;
-import codechicken.lib.vec.Translation;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import cpw.mods.fml.common.gameevent.TickEvent;
-import cpw.mods.fml.common.network.FMLNetworkEvent;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.SoundResource;
-import gregtech.api.gui.GT_GUIColorOverride;
-import gregtech.api.gui.modularui.FallbackableSteamTexture;
-import gregtech.api.interfaces.tileentity.ICoverable;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.interfaces.tileentity.ITurnable;
-import gregtech.api.items.GT_MetaGenerated_Item;
-import gregtech.api.metatileentity.BaseMetaPipeEntity;
-import gregtech.api.metatileentity.BaseMetaTileEntity;
-import gregtech.api.metatileentity.MetaPipeEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
-import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
-import gregtech.api.net.GT_Packet_ClientPreference;
-import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.recipe.RecipeCategory;
-import gregtech.api.util.ColorsMetadataSection;
-import gregtech.api.util.ColorsMetadataSectionSerializer;
-import gregtech.api.util.GT_ClientPreference;
-import gregtech.api.util.GT_CoverBehaviorBase;
-import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_MusicSystem;
-import gregtech.api.util.GT_PlayedSound;
-import gregtech.api.util.GT_Utility;
-import gregtech.api.util.WorldSpawnedEventBuilder;
-import gregtech.client.SeekingOggCodec;
-import gregtech.common.blocks.GT_Block_FrameBox;
-import gregtech.common.blocks.GT_Item_Machines;
-import gregtech.common.render.GT_CapeRenderer;
-import gregtech.common.render.GT_FlaskRenderer;
-import gregtech.common.render.GT_FluidDisplayStackRenderer;
-import gregtech.common.render.GT_LaserRenderer;
-import gregtech.common.render.GT_MetaGenerated_Tool_Renderer;
-import gregtech.common.render.GT_MultiTile_Renderer;
-import gregtech.common.render.GT_PollutionRenderer;
-import gregtech.common.render.GT_RenderDrone;
-import gregtech.common.render.GT_Renderer_Block;
-import gregtech.common.render.GT_WormholeRenderer;
-import gregtech.common.render.items.GT_MetaGenerated_Item_Renderer;
-import gregtech.common.tileentities.debug.GT_MetaTileEntity_AdvDebugStructureWriter;
-import gregtech.loaders.ExtraIcons;
-import gregtech.loaders.misc.GT_Bees;
-import gregtech.loaders.preload.GT_PreLoad;
-import gregtech.nei.NEI_GT_Config;
-import ic2.api.tile.IWrenchable;
-import paulscode.sound.SoundSystemConfig;
-import paulscode.sound.SoundSystemException;
-
-// Referenced classes of package gregtech.common:
-// GT_Proxy
-
-public class GT_Client extends GT_Proxy implements Runnable {
-
- public static final String GTNH_CAPE_LIST_URL = "https://raw.githubusercontent.com/GTNewHorizons/CustomGTCapeHook-Cape-List/master/capes.txt";
- public static final String GT_CAPE_LIST_URL = "http://gregtech.overminddl1.com/com/gregoriust/gregtech/supporterlist.txt";
- private static final List<Block> ROTATABLE_VANILLA_BLOCKS;
-
- private static final int[][] GRID_SWITCH_TABLE = new int[][] { { 0, 5, 3, 1, 2, 4 }, { 5, 0, 1, 3, 2, 4 },
- { 1, 3, 0, 5, 2, 4 }, { 3, 1, 5, 0, 2, 4 }, { 4, 2, 3, 1, 0, 5 }, { 2, 4, 3, 1, 5, 0 }, };
-
- // don't ask. these "just works"
- private static final Transformation ROTATION_MARKER_TRANSFORM_CENTER = new Scale(0.5);
- private static final Transformation[] ROTATION_MARKER_TRANSFORMS_SIDES_TRANSFORMS = {
- new Scale(0.25).with(new Translation(0, 0, 0.375))
- .compile(),
- new Scale(0.25).with(new Translation(0.375, 0, 0))
- .compile(),
- new Scale(0.25).with(new Translation(0, 0, -0.375))
- .compile(),
- new Scale(0.25).with(new Translation(-0.375, 0, 0))
- .compile(), };
- private static final int[] ROTATION_MARKER_TRANSFORMS_SIDES = { -1, -1, 2, 0, 3, 1, -1, -1, 0, 2, 3, 1, 0, 2, -1,
- -1, 3, 1, 2, 0, -1, -1, 3, 1, 1, 3, 2, 0, -1, -1, 3, 1, 2, 0, -1, -1 };
- private static final Transformation[] ROTATION_MARKER_TRANSFORMS_CORNER = {
- new Scale(0.25).with(new Translation(0.375, 0, 0.375))
- .compile(),
- new Scale(0.25).with(new Translation(-0.375, 0, 0.375))
- .compile(),
- new Scale(0.25).with(new Translation(0.375, 0, -0.375))
- .compile(),
- new Scale(0.25).with(new Translation(-0.375, 0, -0.375))
- .compile(), };
- private static int rotationMarkerDisplayList;
- private static boolean rotationMarkerDisplayListCompiled = false;
-
- static {
- ROTATABLE_VANILLA_BLOCKS = Arrays.asList(
- Blocks.piston,
- Blocks.sticky_piston,
- Blocks.furnace,
- Blocks.lit_furnace,
- Blocks.dropper,
- Blocks.dispenser,
- Blocks.chest,
- Blocks.trapped_chest,
- Blocks.ender_chest,
- Blocks.hopper,
- Blocks.pumpkin,
- Blocks.lit_pumpkin);
- }
-
- private final HashSet<String> mCapeList = new HashSet<>();
- public static final GT_PollutionRenderer mPollutionRenderer = new GT_PollutionRenderer();
- private final GT_CapeRenderer mCapeRenderer;
- private final List<Materials> mPosR;
- private final List<Materials> mPosG;
- private final List<Materials> mPosB;
- private final List<Materials> mPosA = Collections.emptyList();
- private final List<Materials> mNegR;
- private final List<Materials> mNegG;
- private final List<Materials> mNegB;
- private final List<Materials> mNegA = Collections.emptyList();
- private final List<Materials> mMoltenPosR;
- private final List<Materials> mMoltenPosG;
- private final List<Materials> mMoltenPosB;
- private final List<Materials> mMoltenPosA = Collections.emptyList();
- private final List<Materials> mMoltenNegR;
- private final List<Materials> mMoltenNegG;
- private final List<Materials> mMoltenNegB;
- private final List<Materials> mMoltenNegA = Collections.emptyList();
- private long mAnimationTick;
- /**
- * This is the place to def the value used below
- **/
- private long afterSomeTime;
-
- private boolean mAnimationDirection;
- private GT_ClientPreference mPreference;
- private boolean mFirstTick = false;
- public static final int ROTATION_MARKER_RESOLUTION = 120;
- private int mReloadCount;
- private float renderTickTime;
- public static GT_MetaGenerated_Item_Renderer metaGeneratedItemRenderer;
-
- public GT_Client() {
- mCapeRenderer = new GT_CapeRenderer(mCapeList);
- mAnimationTick = 0L;
- mAnimationDirection = false;
- mPosR = Arrays.asList(
- Materials.Enderium,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.Force,
- Materials.Pyrotheum,
- Materials.Sunnarium,
- Materials.Glowstone,
- Materials.Thaumium,
- Materials.InfusedVis,
- Materials.InfusedAir,
- Materials.InfusedFire,
- Materials.FierySteel,
- Materials.Firestone);
- mPosG = Arrays.asList(
- Materials.Enderium,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.Force,
- Materials.Pyrotheum,
- Materials.Sunnarium,
- Materials.Glowstone,
- Materials.InfusedAir,
- Materials.InfusedEarth);
- mPosB = Arrays.asList(
- Materials.Enderium,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.InfusedVis,
- Materials.InfusedWater,
- Materials.Thaumium);
- mNegR = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
- mNegG = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
- mNegB = Arrays.asList(Materials.InfusedEntropy, Materials.NetherStar);
- mMoltenPosR = Arrays.asList(
- Materials.Enderium,
- Materials.NetherStar,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.Force,
- Materials.Pyrotheum,
- Materials.Sunnarium,
- Materials.Glowstone,
- Materials.Thaumium,
- Materials.InfusedVis,
- Materials.InfusedAir,
- Materials.InfusedFire,
- Materials.FierySteel,
- Materials.Firestone);
- mMoltenPosG = Arrays.asList(
- Materials.Enderium,
- Materials.NetherStar,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.Force,
- Materials.Pyrotheum,
- Materials.Sunnarium,
- Materials.Glowstone,
- Materials.InfusedAir,
- Materials.InfusedEarth);
- mMoltenPosB = Arrays.asList(
- Materials.Enderium,
- Materials.NetherStar,
- Materials.Vinteum,
- Materials.Uranium235,
- Materials.InfusedGold,
- Materials.Plutonium241,
- Materials.NaquadahEnriched,
- Materials.Naquadria,
- Materials.InfusedOrder,
- Materials.InfusedVis,
- Materials.InfusedWater,
- Materials.Thaumium);
- mMoltenNegR = Collections.singletonList(Materials.InfusedEntropy);
- mMoltenNegG = Collections.singletonList(Materials.InfusedEntropy);
- mMoltenNegB = Collections.singletonList(Materials.InfusedEntropy);
- }
-
- private static boolean checkedForChicken = false;
-
- private static void drawGrid(DrawBlockHighlightEvent aEvent, boolean showCoverConnections, boolean aIsWrench,
- boolean aIsSneaking) {
- if (!checkedForChicken) {
- try {
- Class.forName("codechicken.lib.vec.Rotation");
- } catch (ClassNotFoundException e) {
- return;
- }
- checkedForChicken = true;
- }
-
- GL11.glPushMatrix();
-
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
-
- // pause shader
- int program = GL11.glGetInteger(GL20.GL_CURRENT_PROGRAM);
- GL20.glUseProgram(0);
-
- MovingObjectPosition target = aEvent.target;
- EntityPlayer player = aEvent.player;
- double camX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double) aEvent.partialTicks;
- double camY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double) aEvent.partialTicks;
- double camZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double) aEvent.partialTicks;
- GL11.glTranslated(target.blockX - (int) camX, target.blockY - (int) camY, target.blockZ - (int) camZ);
- GL11.glTranslated(0.5D - (camX - (int) camX), 0.5D - (camY - (int) camY), 0.5D - (camZ - (int) camZ));
- final int tSideHit = target.sideHit;
- Rotation.sideRotations[tSideHit].glApply();
- // draw grid
- GL11.glTranslated(0.0D, -0.502D, 0.0D);
- GL11.glLineWidth(2.5F);
- GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.5F);
- GL11.glBegin(GL11.GL_LINES);
- GL11.glVertex3d(+.50D, .0D, -.25D);
- GL11.glVertex3d(-.50D, .0D, -.25D);
- GL11.glVertex3d(+.50D, .0D, +.25D);
- GL11.glVertex3d(-.50D, .0D, +.25D);
- GL11.glVertex3d(+.25D, .0D, -.50D);
- GL11.glVertex3d(+.25D, .0D, +.50D);
- GL11.glVertex3d(-.25D, .0D, -.50D);
- GL11.glVertex3d(-.25D, .0D, +.50D);
- final TileEntity tTile = player.worldObj.getTileEntity(target.blockX, target.blockY, target.blockZ);
- final Block block = player.worldObj.getBlock(target.blockX, target.blockY, target.blockZ);
- final int meta = player.worldObj.getBlockMetadata(target.blockX, target.blockY, target.blockZ);
-
- // draw connection indicators
- int tConnections = 0;
- if (tTile instanceof ICoverable iCoverable) {
- if (showCoverConnections) {
- for (final ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) {
- if (iCoverable.getCoverIDAtSide(tSide) != 0) tConnections |= tSide.flag;
- }
- } else if (tTile instanceof BaseMetaTileEntity baseMetaTile && baseMetaTile.getAlignment() == null) {
- if (!aIsSneaking) tConnections |= baseMetaTile.getFrontFacing().flag;
- else if (baseMetaTile.getMetaTileEntity() instanceof GT_MetaTileEntity_BasicMachine basicMachine) {
- tConnections |= basicMachine.mMainFacing.flag;
- }
- } else if (tTile instanceof BaseMetaPipeEntity pipeEntity) tConnections = pipeEntity.mConnections;
- } else if (tTile instanceof IWrenchable wrenchable) {
- tConnections |= ForgeDirection.getOrientation(wrenchable.getFacing()).flag;
- } else if (ROTATABLE_VANILLA_BLOCKS.contains(block)) {
- tConnections |= ForgeDirection.getOrientation(meta).flag;
- } else if (tTile instanceof TileInterface tileInterface) tConnections |= tileInterface.getUp()
- .getOpposite().flag;
-
- if (tConnections != 0) {
- for (ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) {
- if ((tConnections & tSide.flag) != 0) {
- switch (GRID_SWITCH_TABLE[target.sideHit][tSide.ordinal()]) {
- case 0 -> {
- GL11.glVertex3d(+.25D, .0D, +.25D);
- GL11.glVertex3d(-.25D, .0D, -.25D);
- GL11.glVertex3d(-.25D, .0D, +.25D);
- GL11.glVertex3d(+.25D, .0D, -.25D);
- }
- case 1 -> {
- GL11.glVertex3d(-.25D, .0D, +.50D);
- GL11.glVertex3d(+.25D, .0D, +.25D);
- GL11.glVertex3d(-.25D, .0D, +.25D);
- GL11.glVertex3d(+.25D, .0D, +.50D);
- }
- case 2 -> {
- GL11.glVertex3d(-.50D, .0D, -.25D);
- GL11.glVertex3d(-.25D, .0D, +.25D);
- GL11.glVertex3d(-.50D, .0D, +.25D);
- GL11.glVertex3d(-.25D, .0D, -.25D);
- }
- case 3 -> {
- GL11.glVertex3d(-.25D, .0D, -.50D);
- GL11.glVertex3d(+.25D, .0D, -.25D);
- GL11.glVertex3d(-.25D, .0D, -.25D);
- GL11.glVertex3d(+.25D, .0D, -.50D);
- }
- case 4 -> {
- GL11.glVertex3d(+.50D, .0D, -.25D);
- GL11.glVertex3d(+.25D, .0D, +.25D);
- GL11.glVertex3d(+.50D, .0D, +.25D);
- GL11.glVertex3d(+.25D, .0D, -.25D);
- }
- case 5 -> {
- GL11.glVertex3d(+.50D, .0D, +.50D);
- GL11.glVertex3d(+.25D, .0D, +.25D);
- GL11.glVertex3d(+.50D, .0D, +.25D);
- GL11.glVertex3d(+.25D, .0D, +.50D);
- GL11.glVertex3d(+.50D, .0D, -.50D);
- GL11.glVertex3d(+.25D, .0D, -.25D);
- GL11.glVertex3d(+.50D, .0D, -.25D);
- GL11.glVertex3d(+.25D, .0D, -.50D);
- GL11.glVertex3d(-.50D, .0D, +.50D);
- GL11.glVertex3d(-.25D, .0D, +.25D);
- GL11.glVertex3d(-.50D, .0D, +.25D);
- GL11.glVertex3d(-.25D, .0D, +.50D);
- GL11.glVertex3d(-.50D, .0D, -.50D);
- GL11.glVertex3d(-.25D, .0D, -.25D);
- GL11.glVertex3d(-.50D, .0D, -.25D);
- GL11.glVertex3d(-.25D, .0D, -.50D);
- }
- }
- }
- }
- }
- GL11.glEnd();
- // draw turning indicator
- Function<ForgeDirection, Transformation[]> getTransform = (ForgeDirection direction) -> {
- try {
- if (direction.ordinal() == tSideHit) return new Transformation[] { ROTATION_MARKER_TRANSFORM_CENTER };
- else if (direction.getOpposite()
- .ordinal() == tSideHit) {
- return ROTATION_MARKER_TRANSFORMS_CORNER;
- } else {
- return new Transformation[] {
- ROTATION_MARKER_TRANSFORMS_SIDES_TRANSFORMS[ROTATION_MARKER_TRANSFORMS_SIDES[tSideHit * 6
- + direction.ordinal()]] };
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- return new Transformation[] {};
- }
-
- };
-
- if (aIsWrench && tTile instanceof IAlignmentProvider) {
- final IAlignment tAlignment = ((IAlignmentProvider) (tTile)).getAlignment();
- if (tAlignment != null) {
- for (var transform : getTransform.apply(tAlignment.getDirection())) {
- drawExtendedRotationMarker(transform, aIsSneaking, tAlignment);
- }
- }
- }
- if (aIsWrench && tTile instanceof IOrientable orientable
- && !(tTile instanceof TileInterface)
- && orientable.canBeRotated()) {
- for (var transform : getTransform.apply(aIsSneaking ? orientable.getForward() : orientable.getUp())) {
- drawExtendedRotationMarker(transform, aIsSneaking, orientable);
- }
- }
- GL20.glUseProgram(program); // resume shader
- GL11.glPopMatrix(); // get back to player center
- }
-
- private static void drawExtendedRotationMarker(Transformation transform, boolean sneaking, IAlignment alignment) {
- if (sneaking) {
- if (alignment.isFlipChangeAllowed()) {
- drawFlipMarker(transform);
- }
- } else {
- if (alignment.isRotationChangeAllowed()) {
- drawRotationMarker(transform);
- }
- }
- }
-
- private static void drawExtendedRotationMarker(Transformation transform, boolean sneaking, IOrientable orientable) {
- drawRotationMarker(transform);
- }
-
- private static void drawRotationMarker(Transformation transform) {
- if (!rotationMarkerDisplayListCompiled) {
- rotationMarkerDisplayList = GLAllocation.generateDisplayLists(1);
- compileRotationMarkerDisplayList(rotationMarkerDisplayList);
- rotationMarkerDisplayListCompiled = true;
- }
- GL11.glPushMatrix();
- transform.glApply();
- GL11.glCallList(rotationMarkerDisplayList);
- GL11.glPopMatrix();
- }
-
- private static void compileRotationMarkerDisplayList(int displayList) {
- GL11.glNewList(displayList, GL11.GL_COMPILE);
- GL11.glBegin(GL_LINE_LOOP);
- for (int i = 0; i <= ROTATION_MARKER_RESOLUTION; i++) {
- GL11.glVertex3d(
- Math.cos(i * Math.PI * 1.75 / ROTATION_MARKER_RESOLUTION) * 0.4,
- 0,
- Math.sin(i * Math.PI * 1.75 / ROTATION_MARKER_RESOLUTION) * 0.4);
- }
- for (int i = ROTATION_MARKER_RESOLUTION; i >= 0; i--) {
- GL11.glVertex3d(
- Math.cos(i * Math.PI * 1.75 / ROTATION_MARKER_RESOLUTION) * 0.24,
- 0,
- Math.sin(i * Math.PI * 1.75 / ROTATION_MARKER_RESOLUTION) * 0.24);
- }
- GL11.glVertex3d(0.141114561800, 0, 0);
- GL11.glVertex3d(0.32, 0, -0.178885438199);
- GL11.glVertex3d(0.498885438199, 0, 0);
- GL11.glEnd();
- GL11.glEndList();
- }
-
- private static void drawFlipMarker(Transformation transform) {
- GL11.glPushMatrix();
- transform.glApply();
- final Tessellator t = Tessellator.instance;
- // right shape
- GL11.glLineStipple(4, (short) 0xAAAA);
- GL11.glEnable(GL11.GL_LINE_STIPPLE);
- t.startDrawing(GL11.GL_LINE_STRIP);
- t.addVertex(0.1d, 0d, 0.04d);
- t.addVertex(0.1d, 0d, 0.2d);
- t.addVertex(0.35d, 0d, 0.35d);
- t.addVertex(0.35d, 0d, -0.35d);
- t.addVertex(0.1d, 0d, -0.2d);
- t.addVertex(0.1d, 0d, -0.04d);
- t.draw();
- GL11.glDisable(GL11.GL_LINE_STIPPLE);
- // left shape
- t.startDrawing(GL11.GL_LINE_STRIP);
- t.addVertex(-0.1d, 0d, 0.04d);
- t.addVertex(-0.1d, 0d, 0.2d);
- t.addVertex(-0.35d, 0d, 0.35d);
- t.addVertex(-0.35d, 0d, -0.35d);
- t.addVertex(-0.1d, 0d, -0.2d);
- t.addVertex(-0.1d, 0d, -0.04d);
- t.draw();
- // arrow
- t.startDrawing(GL11.GL_LINE_LOOP);
- t.addVertex(0.15d, 0d, -0.04d);
- t.addVertex(0.15d, 0d, -0.1d);
- t.addVertex(0.25d, 0d, 0.d);
- t.addVertex(0.15d, 0d, 0.1d);
- t.addVertex(0.15d, 0d, 0.04d);
- t.addVertex(-0.15d, 0d, 0.04d);
- t.addVertex(-0.15d, 0d, 0.1d);
- t.addVertex(-0.25d, 0d, 0.d);
- t.addVertex(-0.15d, 0d, -0.1d);
- t.addVertex(-0.15d, 0d, -0.04d);
- t.draw();
- GL11.glPopMatrix();
- }
-
- @Override
- public boolean isServerSide() {
- return true;
- }
-
- @Override
- public boolean isClientSide() {
- return true;
- }
-
- @Override
- public boolean isBukkitSide() {
- return false;
- }
-
- @Override
- public EntityPlayer getThePlayer() {
- return Minecraft.getMinecraft().thePlayer;
- }
-
- @Override
- public int addArmor(String aPrefix) {
- return RenderingRegistry.addNewArmourRendererPrefix(aPrefix);
- }
-
- @Override
- public void onPreLoad() {
- super.onPreLoad();
-
- MinecraftForge.EVENT_BUS.register(new ExtraIcons());
- Minecraft.getMinecraft()
- .getResourcePackRepository().rprMetadataSerializer
- .registerMetadataSectionType(new ColorsMetadataSectionSerializer(), ColorsMetadataSection.class);
-
- new GT_MetaTileEntity_AdvDebugStructureWriter.ForgeEventHandler();
-
- final String[] arr = { "renadi", "hanakocz", "MysteryDump", "Flaver4", "x_Fame", "Peluche321",
- "Goshen_Ithilien", "manf", "Bimgo", "leagris", "IAmMinecrafter02", "Cerous", "Devilin_Pixy", "Bkarlsson87",
- "BadAlchemy", "CaballoCraft", "melanclock", "Resursator", "demanzke", "AndrewAmmerlaan", "Deathlycraft",
- "Jirajha", "Axlegear", "kei_kouma", "Dracion", "dungi", "Dorfschwein", "Zero Tw0", "mattiagraz85",
- "sebastiank30", "Plem", "invultri", "grillo126", "malcanteth", "Malevolence_", "Nicholas_Manuel", "Sirbab",
- "kehaan", "bpgames123", "semig0d", "9000bowser", "Sovereignty89", "Kris1432", "xander_cage_", "samuraijp",
- "bsaa", "SpwnX", "tworf", "Kadah", "kanni", "Stute", "Hegik", "Onlyme", "t3hero", "Hotchi", "jagoly",
- "Nullav", "BH5432", "Sibmer", "inceee", "foxxx0", "Hartok", "TMSama", "Shlnen", "Carsso", "zessirb",
- "meep310", "Seldron", "yttr1um", "hohounk", "freebug", "Sylphio", "jmarler", "Saberawr", "r00teniy",
- "Neonbeta", "yinscape", "voooon24", "Quintine", "peach774", "lepthymo", "bildeman", "Kremnari", "Aerosalo",
- "OndraSter", "oscares91", "mr10movie", "Daxx367x2", "EGERTRONx", "aka13_404", "Abouttabs", "Johnstaal",
- "djshiny99", "megatronp", "DZCreeper", "Kane_Hart", "Truculent", "vidplace7", "simon6689", "MomoNasty",
- "UnknownXLV", "goreacraft", "Fluttermine", "Daddy_Cecil", "MrMaleficus", "TigersFangs", "cublikefoot",
- "chainman564", "NikitaBuker", "Misha999777", "25FiveDetail", "AntiCivilBoy", "michaelbrady",
- "xXxIceFirexXx", "Speedynutty68", "GarretSidzaka", "HallowCharm977", "mastermind1919", "The_Hypersonic",
- "diamondguy2798", "zF4ll3nPr3d4t0r", "CrafterOfMines57", "XxELIT3xSNIP3RxX", "SuterusuKusanagi",
- "xavier0014", "adamros", "alexbegt" };
- for (String tName : arr) {
- mCapeList.add(tName.toLowerCase());
- }
- new Thread(this).start();
-
- mPollutionRenderer.preLoad();
-
- mPreference = new GT_ClientPreference();
-
- Materials.initClient();
- }
-
- @Override
- public void onLoad() {
- super.onLoad();
- GT_Renderer_Block.register();
- new GT_MultiTile_Renderer();
- new GT_RenderDrone();
- new GT_LaserRenderer();
- new GT_WormholeRenderer();
-
- metaGeneratedItemRenderer = new GT_MetaGenerated_Item_Renderer();
- for (GT_MetaGenerated_Item item : GT_MetaGenerated_Item.sInstances.values()) {
- metaGeneratedItemRenderer.registerItem(item);
- }
- if (Forestry.isModLoaded()) {
- metaGeneratedItemRenderer.registerItem(GT_Bees.combs);
- }
- new GT_MetaGenerated_Tool_Renderer();
- new GT_FlaskRenderer();
- new GT_FluidDisplayStackRenderer();
- MinecraftForge.EVENT_BUS.register(new NEI_GT_Config());
- }
-
- @Override
- public void onPostLoad() {
- super.onPostLoad();
-
- // reobf doesn't work with lambda, so this must be a class
- // noinspection Convert2Lambda
- ((IReloadableResourceManager) Minecraft.getMinecraft()
- .getResourceManager()).registerReloadListener(new IResourceManagerReloadListener() {
-
- @Override
- public void onResourceManagerReload(IResourceManager l) {
- GT_GUIColorOverride.onResourceManagerReload();
- FallbackableSteamTexture.reload();
- GregTech_API.sCoverBehaviors.values()
- .forEach(GT_CoverBehaviorBase::reloadColorOverride);
- }
- });
- }
-
- @Override
- public void onLoadComplete() {
- super.onLoadComplete();
- for (RecipeCategory category : RecipeCategory.ALL_RECIPE_CATEGORIES.values()) {
- if (category.recipeMap.getFrontend()
- .getNEIProperties().registerNEI) {
- FluidRecipe.addRecipeMap(
- category.unlocalizedName,
- new GregTech5RecipeExtractor(
- category.unlocalizedName.equals("gt.recipe.scanner")
- || category.unlocalizedName.equals("gt.recipe.fakeAssemblylineProcess")));
- }
- }
- }
-
- @SubscribeEvent
- @SuppressWarnings("unused") // used by the event bus
- public void onSoundSetup(SoundSetupEvent event) {
- try {
- SoundSystemConfig.setCodec(SeekingOggCodec.EXTENSION, SeekingOggCodec.class);
- } catch (SoundSystemException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public void run() {
- GT_Log.out.println("GT_Mod: Downloading Cape List.");
- try (final Scanner tScanner = new Scanner(new URL(GT_CAPE_LIST_URL).openStream())) {
- while (tScanner.hasNextLine()) {
- this.mCapeList.add(
- tScanner.nextLine()
- .toLowerCase());
- }
- } catch (Throwable e) {
- e.printStackTrace(GT_Log.err);
- }
- GT_Log.out.println("GT New Horizons: Downloading Cape List.");
- try (final Scanner tScanner = new Scanner(new URL(GTNH_CAPE_LIST_URL).openStream())) {
- while (tScanner.hasNextLine()) {
- final String tName = tScanner.nextLine()
- .toLowerCase();
- if (tName.contains(":")) {
- if (!this.mCapeList.contains(tName.substring(0, tName.indexOf(":")))) {
- this.mCapeList.add(tName);
- }
- } else {
- this.mCapeList.add(tName);
- }
- }
- } catch (Throwable e) {
- e.printStackTrace(GT_Log.err);
- }
- }
-
- @Override
- @SubscribeEvent
- public void onClientConnectedToServerEvent(FMLNetworkEvent.ClientConnectedToServerEvent aEvent) {
- mFirstTick = true;
- mReloadCount++;
- GT_MusicSystem.ClientSystem.reset();
- // For utility methods elsewhere.
- calculateMaxPlasmaTurbineEfficiency();
- }
-
- @Override
- public void reloadNEICache() {
- mReloadCount++;
- }
-
- @Override
- public int getNEIReloadCount() {
- return mReloadCount;
- }
-
- @SubscribeEvent
- public void receiveRenderSpecialsEvent(net.minecraftforge.client.event.RenderPlayerEvent.Specials.Pre aEvent) {
- mCapeRenderer.receiveRenderSpecialsEvent(aEvent);
- }
-
- @SubscribeEvent
- public void onPlayerTickEventClient(TickEvent.PlayerTickEvent aEvent) {
- if ((aEvent.side.isClient()) && (aEvent.phase == TickEvent.Phase.END) && (!aEvent.player.isDead)) {
- if (mFirstTick) {
- mFirstTick = false;
- GT_Values.NW.sendToServer(new GT_Packet_ClientPreference(mPreference));
-
- if (!Minecraft.getMinecraft()
- .isSingleplayer()) {
- GT_ModHandler.removeAllIC2Recipes();
- }
- }
- afterSomeTime++;
- if (afterSomeTime >= 100L) {
- afterSomeTime = 0;
- }
- for (Iterator<Map.Entry<GT_PlayedSound, Integer>> iterator = GT_Utility.sPlayedSoundMap.entrySet()
- .iterator(); iterator.hasNext();) {
- Map.Entry<GT_PlayedSound, Integer> tEntry = iterator.next();
- if (tEntry.getValue() < 0) {
- iterator.remove();
- } else {
- tEntry.setValue(tEntry.getValue() - 1);
- }
- }
- if (!GregTech_API.mServerStarted) GregTech_API.mServerStarted = true;
- }
- }
-
- @SubscribeEvent
- public void onConfigChange(ConfigChangedEvent.OnConfigChangedEvent e) {
- if (GregTech.ID.equals(e.modID) && "client".equals(e.configID)) {
- // refresh client preference and send to server, since it's the only config we allow changing at runtime.
- mPreference = new GT_ClientPreference();
- GT_PreLoad.loadClientConfig();
- if (e.isWorldRunning) GT_Values.NW.sendToServer(new GT_Packet_ClientPreference(mPreference));
- }
- }
-
- @SubscribeEvent
- public void onDrawBlockHighlight(DrawBlockHighlightEvent aEvent) {
- final Block aBlock = aEvent.player.worldObj
- .getBlock(aEvent.target.blockX, aEvent.target.blockY, aEvent.target.blockZ);
- final TileEntity aTileEntity = aEvent.player.worldObj
- .getTileEntity(aEvent.target.blockX, aEvent.target.blockY, aEvent.target.blockZ);
-
- if (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sWrenchList)) {
- if (aTileEntity instanceof ITurnable || ROTATABLE_VANILLA_BLOCKS.contains(aBlock)
- || aTileEntity instanceof IWrenchable
- || (aTileEntity instanceof IOrientable orientable && orientable.canBeRotated())
- || (aBlock instanceof GT_Block_FrameBox)) drawGrid(aEvent, false, true, aEvent.player.isSneaking());
- return;
- }
-
- // If there is no tile entity and the block is a frame box block, still draw the grid if a cover is held
- if (aTileEntity == null && aBlock instanceof GT_Block_FrameBox) {
- if (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCovers.keySet())) {
- drawGrid(aEvent, true, false, aEvent.player.isSneaking());
- }
- return;
- }
-
- if (!(aTileEntity instanceof ICoverable)) return;
-
- if (aEvent.player.isSneaking() && aTileEntity instanceof IGregTechTileEntity gtEntity
- && gtEntity.getMetaTileEntity() instanceof MetaPipeEntity) {
- if (aEvent.currentItem != null && aEvent.currentItem.getItem() instanceof GT_Item_Machines
- && GregTech_API.METATILEENTITIES[aEvent.currentItem.getItemDamage()] instanceof MetaPipeEntity) {
- drawGrid(aEvent, false, false, false);
- }
- }
-
- if (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sWireCutterList)
- || GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sSolderingToolList)
- || (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sSoftHammerList)
- && aTileEntity instanceof MultiBlockPart) && aEvent.player.isSneaking()) {
- if (((ICoverable) aTileEntity).getCoverIDAtSide(ForgeDirection.getOrientation(aEvent.target.sideHit)) == 0)
- drawGrid(aEvent, false, false, aEvent.player.isSneaking());
- return;
- }
-
- if ((aEvent.currentItem == null && aEvent.player.isSneaking())
- || GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCrowbarList)
- || GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sScrewdriverList)) {
- if (((ICoverable) aTileEntity).getCoverIDAtSide(ForgeDirection.getOrientation(aEvent.target.sideHit)) == 0)
- for (final ForgeDirection tSide : ForgeDirection.VALID_DIRECTIONS) {
- if (((ICoverable) aTileEntity).getCoverIDAtSide(tSide) > 0) {
- drawGrid(aEvent, true, false, true);
- return;
- }
- }
- return;
- }
-
- if (GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCovers.keySet())) {
- if (((ICoverable) aTileEntity).getCoverIDAtSide(ForgeDirection.getOrientation(aEvent.target.sideHit)) == 0)
- drawGrid(aEvent, true, false, aEvent.player.isSneaking());
- }
-
- if (GT_Utility.areStacksEqual(ItemList.Tool_Cover_Copy_Paste.get(1), aEvent.currentItem, true)) {
- if (((ICoverable) aTileEntity).getCoverIDAtSide(ForgeDirection.getOrientation(aEvent.target.sideHit)) == 0)
- drawGrid(aEvent, true, false, aEvent.player.isSneaking());
- }
- }
-
- @SubscribeEvent
- public void receiveRenderEvent(net.minecraftforge.client.event.RenderPlayerEvent.Pre aEvent) {
- if (GT_Utility.getFullInvisibility(aEvent.entityPlayer)) {
- aEvent.setCanceled(true);
- }
- }
-
- @SubscribeEvent
- public void onRenderStart(cpw.mods.fml.common.gameevent.TickEvent.RenderTickEvent aEvent) {
- if (aEvent.phase == TickEvent.Phase.START) {
- renderTickTime = aEvent.renderTickTime;
- }
- }
-
- @SubscribeEvent
- public void onClientTickEvent(cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent aEvent) {
- if (aEvent.phase == cpw.mods.fml.common.gameevent.TickEvent.Phase.END) {
- GT_MusicSystem.ClientSystem.tick();
-
- if (changeDetected > 0) changeDetected--;
- final int newHideValue = shouldHeldItemHideThings();
- if (newHideValue != hideValue) {
- hideValue = newHideValue;
- changeDetected = 5;
- }
- mAnimationTick++;
- if (mAnimationTick % 50L == 0L) {
- mAnimationDirection = !mAnimationDirection;
- }
- final int tDirection = mAnimationDirection ? 1 : -1;
- for (Materials tMaterial : mPosR) {
- tMaterial.mRGBa[0] = getSafeRGBValue(tMaterial.mRGBa[0], tDirection);
- }
-
- for (Materials tMaterial : mPosG) {
- tMaterial.mRGBa[1] = getSafeRGBValue(tMaterial.mRGBa[1], tDirection);
- }
-
- for (Materials tMaterial : mPosB) {
- tMaterial.mRGBa[2] = getSafeRGBValue(tMaterial.mRGBa[2], tDirection);
- }
-
- for (Materials tMaterial : mPosA) {
- tMaterial.mRGBa[3] = getSafeRGBValue(tMaterial.mRGBa[3], tDirection);
- }
-
- for (Materials tMaterial : mNegR) {
- tMaterial.mRGBa[0] = getSafeRGBValue(tMaterial.mRGBa[0], -tDirection);
- }
-
- for (Materials tMaterial : mNegG) {
- tMaterial.mRGBa[1] = getSafeRGBValue(tMaterial.mRGBa[1], -tDirection);
- }
-
- for (Materials tMaterial : mNegB) {
- tMaterial.mRGBa[2] = getSafeRGBValue(tMaterial.mRGBa[2], -tDirection);
- }
-
- for (Materials tMaterial : mNegA) {
- tMaterial.mRGBa[3] = getSafeRGBValue(tMaterial.mRGBa[3], -tDirection);
- }
-
- for (Materials tMaterial : mMoltenPosR) {
- tMaterial.mMoltenRGBa[0] = getSafeRGBValue(tMaterial.mMoltenRGBa[0], tDirection);
- }
-
- for (Materials tMaterial : mMoltenPosG) {
- tMaterial.mMoltenRGBa[1] = getSafeRGBValue(tMaterial.mMoltenRGBa[1], tDirection);
- }
-
- for (Materials tMaterial : mMoltenPosB) {
- tMaterial.mMoltenRGBa[2] = getSafeRGBValue(tMaterial.mMoltenRGBa[2], tDirection);
- }
-
- for (Materials tMaterial : mMoltenPosA) {
- tMaterial.mMoltenRGBa[3] = getSafeRGBValue(tMaterial.mMoltenRGBa[3], tDirection);
- }
-
- for (Materials tMaterial : mMoltenNegR) {
- tMaterial.mMoltenRGBa[0] = getSafeRGBValue(tMaterial.mMoltenRGBa[0], -tDirection);
- }
-
- for (Materials tMaterial : mMoltenNegG) {
- tMaterial.mMoltenRGBa[1] = getSafeRGBValue(tMaterial.mMoltenRGBa[1], -tDirection);
- }
-
- for (Materials tMaterial : mMoltenNegB) {
- tMaterial.mMoltenRGBa[2] = getSafeRGBValue(tMaterial.mMoltenRGBa[2], -tDirection);
- }
-
- for (Materials tMaterial : mMoltenNegA) {
- tMaterial.mMoltenRGBa[3] = getSafeRGBValue(tMaterial.mMoltenRGBa[3], -tDirection);
- }
- }
- }
-
- public short getSafeRGBValue(short aRBG, int aDelta) {
- int tmp = aRBG + aDelta;
- if (tmp > 255) tmp = 255;
- if (tmp < 0) tmp = 0;
- return (short) tmp;
- }
-
- @Override
- public long getAnimationTicks() {
- return mAnimationTick;
- }
-
- @Override
- public float getPartialRenderTicks() {
- return renderTickTime;
- }
-
- @Override
- public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
- if (GT_Utility.isStackInvalid(aStack)) return;
- String tString = SoundResource.NOTE_HARP.toString();
- int i = 0;
- int j = mSoundItems.size();
- do {
- if (i >= j) break;
- if (GT_Utility.areStacksEqual(mSoundItems.get(i), aStack)) {
- tString = mSoundNames.get(i);
- break;
- }
- i++;
- } while (true);
- if (tString.startsWith(SoundResource.RANDOM_EXPLODE.toString()))
- if (aStack.stackSize == 3) tString = SoundResource.RANDOM_FUSE.toString();
- else if (aStack.stackSize == 2) tString = "random.old_explode";
- if (tString.startsWith("streaming.")) tString = switch (aStack.stackSize) {
- case 1 -> // '\001'
- tString + "13";
- case 2 -> // '\002'
- tString + "cat";
- case 3 -> // '\003'
- tString + "blocks";
- case 4 -> // '\004'
- tString + "chirp";
- case 5 -> // '\005'
- tString + "far";
- case 6 -> // '\006'
- tString + "mall";
- case 7 -> // '\007'
- tString + "mellohi";
- case 8 -> // '\b'
- tString + "stal";
- case 9 -> // '\t'
- tString + "strad";
- case 10 -> // '\n'
- tString + "ward";
- case 11 -> // '\013'
- tString + "11";
- case 12 -> // '\f'
- tString + "wait";
- default -> tString + "wherearewenow";
- };
- if (tString.startsWith("streaming.")) {
- new WorldSpawnedEventBuilder.RecordEffectEventBuilder().setIdentifier(tString.substring(10))
- .setPosition(aX, aY, aZ)
- .run();
- } else {
- new WorldSpawnedEventBuilder.SoundEventBuilder().setVolume(3f)
- .setPitch(
- tString.startsWith("note.") ? (float) Math.pow(2D, (double) (aStack.stackSize - 13) / 12D) : 1.0F)
- .setIdentifier(tString)
- .setPosition(aX, aY, aZ)
- .run();
- }
- }
-
- public static int hideValue = 0;
-
- /**
- * <p>
- * Client tick counter that is set to 5 on hiding pipes and covers.
- * </p>
- * <p>
- * It triggers a texture update next client tick when reaching 4, with provision for 3 more update tasks, spreading
- * client change detection related work and network traffic on different ticks, until it reaches 0.
- * </p>
- */
- public static int changeDetected = 0;
-
- private static int shouldHeldItemHideThings() {
- try {
- final EntityPlayer player = Minecraft.getMinecraft().thePlayer;
- if (player == null) return 0;
- final ItemStack tCurrentItem = player.getCurrentEquippedItem();
- if (tCurrentItem == null) return 0;
- final int[] ids = OreDictionary.getOreIDs(tCurrentItem);
- int hide = 0;
- for (int i : ids) {
- if (OreDictionary.getOreName(i)
- .equals("craftingToolSolderingIron")) {
- hide |= 0x1;
- break;
- }
- }
- if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWrenchList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sScrewdriverList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sHardHammerList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSoftHammerList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWireCutterList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSolderingToolList)
- || GT_Utility.isStackInList(tCurrentItem, GregTech_API.sCrowbarList)
- || GregTech_API.sCovers.containsKey(new GT_ItemStack(tCurrentItem))
- || (tCurrentItem.getItem() instanceof GT_Item_Machines
- && GregTech_API.METATILEENTITIES[tCurrentItem.getItemDamage()] instanceof MetaPipeEntity
- && player.isSneaking())) {
- hide |= 0x2;
- }
- return hide;
- } catch (Exception e) {
- return 0;
- }
- }
-
- public static void recieveChunkPollutionPacket(ChunkCoordIntPair chunk, int pollution) {
- mPollutionRenderer.processPacket(chunk, pollution);
- }
-}