aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/proxy
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/tectech/proxy')
-rw-r--r--src/main/java/tectech/proxy/ClientProxy.java185
-rw-r--r--src/main/java/tectech/proxy/CommonProxy.java94
2 files changed, 279 insertions, 0 deletions
diff --git a/src/main/java/tectech/proxy/ClientProxy.java b/src/main/java/tectech/proxy/ClientProxy.java
new file mode 100644
index 0000000000..145ff7c5b3
--- /dev/null
+++ b/src/main/java/tectech/proxy/ClientProxy.java
@@ -0,0 +1,185 @@
+package tectech.proxy;
+
+import static tectech.TecTech.RANDOM;
+import static tectech.thing.casing.TTCasingsContainer.eyeOfHarmonyRenderBlock;
+import static tectech.thing.casing.TTCasingsContainer.forgeOfGodsRenderBlock;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiNewChat;
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.world.World;
+import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import com.gtnewhorizon.structurelib.entity.fx.WeightlessParticleFX;
+
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.client.registry.ClientRegistry;
+import cpw.mods.fml.client.registry.RenderingRegistry;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import tectech.Reference;
+import tectech.rendering.EOH.EOHItemRenderer;
+import tectech.rendering.EOH.EOHTileEntitySR;
+import tectech.thing.block.BlockGodforgeGlass;
+import tectech.thing.block.BlockQuantumGlass;
+import tectech.thing.block.RenderForgeOfGods;
+import tectech.thing.block.RenderGodforgeGlass;
+import tectech.thing.block.RenderQuantumGlass;
+import tectech.thing.block.TileEntityEyeOfHarmony;
+import tectech.thing.block.TileEntityForgeOfGods;
+import tectech.thing.item.ItemRenderForgeOfGods;
+
+public class ClientProxy extends CommonProxy {
+
+ @Override
+ public void registerRenderInfo() {
+ BlockQuantumGlass.renderID = RenderingRegistry.getNextAvailableRenderId();
+ RenderingRegistry.registerBlockHandler(BlockQuantumGlass.renderID, new RenderQuantumGlass());
+
+ MinecraftForgeClient
+ .registerItemRenderer(Item.getItemFromBlock(eyeOfHarmonyRenderBlock), new EOHItemRenderer());
+ ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEyeOfHarmony.class, new EOHTileEntitySR());
+
+ if (tectech.TecTech.configTecTech.ENABLE_GOD_FORGE) {
+ BlockGodforgeGlass.renderID = RenderingRegistry.getNextAvailableRenderId();
+ RenderingRegistry.registerBlockHandler(BlockGodforgeGlass.renderID, new RenderGodforgeGlass());
+
+ MinecraftForgeClient
+ .registerItemRenderer(Item.getItemFromBlock(forgeOfGodsRenderBlock), new ItemRenderForgeOfGods());
+ ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForgeOfGods.class, new RenderForgeOfGods());
+ }
+ }
+
+ @Override
+ public void em_particle(IGregTechTileEntity aMuffler, ForgeDirection facing) { // CUTE!
+ float xPos = facing.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F;
+ float yPos = facing.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F;
+ float zPos = facing.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F;
+
+ EntityFX particle = new WeightlessParticleFX(
+ aMuffler.getWorld(),
+ xPos + RANDOM.nextFloat() * 0.5F,
+ yPos + RANDOM.nextFloat() * 0.5F,
+ zPos + RANDOM.nextFloat() * 0.5F,
+ 0,
+ 0,
+ 0);
+ particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f);
+ Minecraft.getMinecraft().effectRenderer.addEffect(particle);
+ }
+
+ @Override
+ public void pollutor_particle(IGregTechTileEntity aMuffler, ForgeDirection facing) {
+ float xPos = facing.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F;
+ float yPos = facing.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F;
+ float zPos = facing.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F;
+
+ float ySpd = facing.offsetY * 0.1F + 0.2F + 0.1F * (float) RANDOM.nextGaussian();
+ float xSpd;
+ float zSpd;
+
+ if (facing.offsetY == -1) {
+ float temp = RANDOM.nextFloat() * 2 * (float) Math.PI;
+ xSpd = (float) Math.sin(temp) * 0.1F * (float) RANDOM.nextGaussian();
+ zSpd = (float) Math.cos(temp) * 0.1F * (float) RANDOM.nextGaussian();
+ } else {
+ xSpd = facing.offsetX * (0.1F + 0.2F * (float) RANDOM.nextGaussian());
+ zSpd = facing.offsetZ * (0.1F + 0.2F * (float) RANDOM.nextGaussian());
+ }
+ aMuffler.getWorld()
+ .spawnParticle(
+ "largesmoke",
+ xPos + RANDOM.nextFloat() * 0.5F,
+ yPos + RANDOM.nextFloat() * 0.5F,
+ zPos + RANDOM.nextFloat() * 0.5F,
+ xSpd,
+ ySpd,
+ zSpd);
+ aMuffler.getWorld()
+ .spawnParticle(
+ "largesmoke",
+ xPos + RANDOM.nextFloat() * 0.5F,
+ yPos + RANDOM.nextFloat() * 0.5F,
+ zPos + RANDOM.nextFloat() * 0.5F,
+ xSpd,
+ ySpd,
+ zSpd);
+ aMuffler.getWorld()
+ .spawnParticle(
+ "largesmoke",
+ xPos + RANDOM.nextFloat() * 0.5F,
+ yPos + RANDOM.nextFloat() * 0.5F,
+ zPos + RANDOM.nextFloat() * 0.5F,
+ xSpd,
+ ySpd,
+ zSpd);
+ }
+
+ @Override
+ public void em_particle(World w, double x, double y, double z) { // CUTE!
+ EntityFX particle = new WeightlessParticleFX(
+ w,
+ x + RANDOM.nextFloat() * 0.5F,
+ y + RANDOM.nextFloat() * 0.5F,
+ z + RANDOM.nextFloat() * 0.5F,
+ 0,
+ 0,
+ 0);
+ particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f);
+ Minecraft.getMinecraft().effectRenderer.addEffect(particle);
+ }
+
+ @Override
+ public void pollutor_particle(World w, double x, double y, double z) {
+ w.spawnParticle(
+ "largesmoke",
+ x + RANDOM.nextFloat() * 0.5F,
+ y + RANDOM.nextFloat() * 0.5F,
+ z + RANDOM.nextFloat() * 0.5F,
+ 0,
+ 0,
+ 0);
+ }
+
+ @Override
+ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+ return null;
+ }
+
+ @Override
+ public World getClientWorld() {
+ return FMLClientHandler.instance()
+ .getClient().theWorld;
+ }
+
+ @Override
+ public void printInchat(String... strings) {
+ GuiNewChat chat = Minecraft.getMinecraft().ingameGUI.getChatGUI();
+ for (String s : strings) {
+ chat.printChatMessage(new ChatComponentText(s));
+ }
+ }
+
+ @Override
+ public void playSound(IGregTechTileEntity base, String name) {
+ base.getWorld()
+ .playSoundEffect(base.getXCoord(), base.getYCoord(), base.getZCoord(), Reference.MODID + ':' + name, 1, 1);
+ }
+
+ @Override
+ public void renderAABB(World w, AxisAlignedBB box) {
+ em_particle(w, box.minX, box.minY, box.minZ);
+ em_particle(w, box.minX, box.minY, box.maxZ);
+ em_particle(w, box.minX, box.maxY, box.maxZ);
+ em_particle(w, box.minX, box.maxY, box.minZ);
+ em_particle(w, box.maxX, box.maxY, box.minZ);
+ em_particle(w, box.maxX, box.maxY, box.maxZ);
+ em_particle(w, box.maxX, box.minY, box.maxZ);
+ em_particle(w, box.maxX, box.minY, box.minZ);
+ }
+
+}
diff --git a/src/main/java/tectech/proxy/CommonProxy.java b/src/main/java/tectech/proxy/CommonProxy.java
new file mode 100644
index 0000000000..209e1e4181
--- /dev/null
+++ b/src/main/java/tectech/proxy/CommonProxy.java
@@ -0,0 +1,94 @@
+package tectech.proxy;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import cpw.mods.fml.common.network.IGuiHandler;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+public class CommonProxy implements IGuiHandler {
+
+ public void registerRenderInfo() {}
+
+ public void em_particle(IGregTechTileEntity aMuffler, ForgeDirection facing) {} // CUTE!
+
+ public void pollutor_particle(IGregTechTileEntity aPollutor, ForgeDirection facing) {} // CUTE!
+
+ public void em_particle(World w, double x, double y, double z) {}
+
+ public void pollutor_particle(World w, double x, double y, double z) {}
+
+ public void renderAABB(World w, AxisAlignedBB box) {}
+
+ @Override
+ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+ return null;
+ }
+
+ @Override
+ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+ return null;
+ }
+
+ public World getClientWorld() {
+ return null;
+ }
+
+ public void broadcast(String str) {
+ MinecraftServer.getServer()
+ .getConfigurationManager()
+ .sendChatMsg(new ChatComponentText(str));
+ }
+
+ public void printInchat(String... strings) {}
+
+ public void playSound(IGregTechTileEntity base, String name) {}
+
+ public String getUUID(String name) {
+ for (WorldServer worldServer : MinecraftServer.getServer().worldServers) {
+ for (Object o : worldServer.playerEntities) {
+ if (o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile()
+ .getName()
+ .equals(name)) {
+ return ((EntityPlayer) o).getGameProfile()
+ .getId()
+ .toString();
+ }
+ }
+ }
+ return null;
+ }
+
+ public boolean isOnlineName(String name) {
+ for (WorldServer worldServer : MinecraftServer.getServer().worldServers) {
+ for (Object o : worldServer.playerEntities) {
+ if (o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile()
+ .getName()
+ .equals(name)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public boolean isOnlineUUID(String uuid) {
+ for (WorldServer worldServer : MinecraftServer.getServer().worldServers) {
+ for (Object o : worldServer.playerEntities) {
+ if (o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile()
+ .getId()
+ .toString()
+ .equals(uuid)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+}