Package wecui.obfuscation

Source Code of wecui.obfuscation.Obfuscation

package wecui.obfuscation;

import deobf.Entity;
import deobf.EntityClientPlayerMP;
import deobf.EntityPlayerSP;
import deobf.NetClientHandler;
import deobf.Packet250CustomPayload;
import deobf.Packet3Chat;
import deobf.WorldClient;
import java.io.File;
import net.minecraft.client.Minecraft;
import wecui.InitializationFactory;
import wecui.WorldEditCUI;
import wecui.render.RenderEntity;

/**
* Main obfuscation class
* Combines all obfuscated classes and methods into a single class
* Eases updates, cleans up the rest of the codebase.
*
* @author lahwran
* @author yetanotherx
*
* @obfuscated 1.4.5
*/
public class Obfuscation implements InitializationFactory {

    protected WorldEditCUI controller;
    protected Minecraft minecraft;

    public Obfuscation(WorldEditCUI controller) {
        this.controller = controller;
    }

    @Override
    public void initialize() {
        this.minecraft = this.controller.getMinecraft();
    }

    public boolean isMultiplayerWorld() {
        return true; // TODO - Temprarily until I can figure out the new server thing
        //return minecraft.l();
    }

    /**
     * Displays a chat message on the screen, if the player is currently playing
     * @param chat
     */
    public void showChatMessage(String chat) {
        if (getPlayer() != null) {
            getPlayer().b(chat);
        }
    }

    public EntityPlayerSP getPlayer() {
        return getPlayer(minecraft);
    }

    public WorldClient getWorld() {
        return getWorld(minecraft);
    }

    public Entity spawnEntity() {
        Minecraft mc = this.controller.getMinecraft();

        Entity entity = new RenderEntity(this.controller, getWorld(mc));
        setEntityPositionToPlayer(mc, entity);
        getWorld(mc).d(entity);
        setEntityPositionToPlayer(mc, entity);
        controller.getDebugger().debug("RenderEntity spawned");
        return entity;
    }

    public static double getPlayerX(EntityPlayerSP player) {
        return player.t;
    }

    public static double getPlayerY(EntityPlayerSP player) {
        return player.u;
    }

    public static double getPlayerZ(EntityPlayerSP player) {
        return player.v;
    }

    public double getPlayerXGuess(float renderTick) {
        EntityPlayerSP plyr = getPlayer();
        return plyr.q + ((plyr.t - plyr.q) * renderTick);
    }

    public double getPlayerYGuess(float renderTick) {
        EntityPlayerSP plyr = getPlayer();
        return plyr.r + ((plyr.u - plyr.r) * renderTick);
    }

    public double getPlayerZGuess(float renderTick) {
        EntityPlayerSP plyr = getPlayer();
        return plyr.s + ((plyr.v - plyr.s) * renderTick);
    }

    public static EntityPlayerSP getPlayer(Minecraft mc) {
        return mc.g;
    }

    public static WorldClient getWorld(Minecraft mc) {
        return mc.e;
    }

    public static void setEntityPositionToPlayer(Minecraft mc, Entity entity) {
        entity.b(getPlayerX(mc.g), getPlayerY(mc.g), getPlayerZ(mc.g));
    }

    public NetClientHandler getNetClientHandler(EntityClientPlayerMP player) {
        return player.a;
    }

    public static String getChatFromPacket(Packet3Chat packet) {
        return packet.b;
    }

    public static byte[] getBytesFromPacket(Packet250CustomPayload packet) {
        return packet.c;
    }

    public static Packet250CustomPayload newPayloadPacket(String name, int len, byte[] data) {
        Packet250CustomPayload packet = new Packet250CustomPayload();
        packet.a = name;
        packet.b = len;
        packet.c = data;
        return packet;
    }

    public static File getMinecraftDir() {
        return Minecraft.b();
    }

    public static File getWorldEditCUIDir() {
        return new File(getMinecraftDir(), "mods" + File.separator + "WorldEditCUI");
    }
}
TOP

Related Classes of wecui.obfuscation.Obfuscation

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.