2013-12-17 21:48:21 +01:00
|
|
|
package com.pahimar.ee3.proxy;
|
2013-08-23 16:59:50 +02:00
|
|
|
|
2014-07-15 19:24:04 +02:00
|
|
|
import com.pahimar.ee3.client.handler.DrawBlockHighlightEventHandler;
|
2014-10-03 21:55:22 +02:00
|
|
|
import com.pahimar.ee3.client.handler.HUDTickHandler;
|
2014-06-14 21:40:45 +02:00
|
|
|
import com.pahimar.ee3.client.handler.ItemTooltipEventHandler;
|
2014-05-23 00:35:31 +02:00
|
|
|
import com.pahimar.ee3.client.handler.KeyInputEventHandler;
|
2014-04-11 22:01:11 +02:00
|
|
|
import com.pahimar.ee3.client.renderer.item.*;
|
|
|
|
import com.pahimar.ee3.client.renderer.tileentity.*;
|
2014-05-23 00:35:31 +02:00
|
|
|
import com.pahimar.ee3.client.settings.Keybindings;
|
2015-03-22 23:52:04 +01:00
|
|
|
import com.pahimar.ee3.client.util.ClientParticleHelper;
|
2014-07-21 20:47:00 +02:00
|
|
|
import com.pahimar.ee3.client.util.ClientSoundHelper;
|
2014-04-30 04:26:30 +02:00
|
|
|
import com.pahimar.ee3.init.ModBlocks;
|
2022-11-22 15:26:15 +01:00
|
|
|
import com.pahimar.ee3.network.PacketHandler;
|
|
|
|
import com.pahimar.ee3.network.message.MessageTransmutateEvent;
|
2014-04-11 01:59:04 +02:00
|
|
|
import com.pahimar.ee3.reference.RenderIds;
|
2015-02-25 06:03:59 +01:00
|
|
|
import com.pahimar.ee3.settings.ChalkSettings;
|
2014-04-11 22:01:11 +02:00
|
|
|
import com.pahimar.ee3.tileentity.*;
|
2022-11-22 15:26:15 +01:00
|
|
|
import com.pahimar.ee3.util.TransmutationHelper;
|
2014-04-11 01:59:04 +02:00
|
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
|
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
2014-05-23 00:35:31 +02:00
|
|
|
import cpw.mods.fml.common.FMLCommonHandler;
|
2023-01-07 14:49:18 +01:00
|
|
|
import cpw.mods.fml.common.Loader;
|
2022-11-22 15:26:15 +01:00
|
|
|
import net.minecraft.block.Block;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2014-04-11 01:59:04 +02:00
|
|
|
import net.minecraft.item.Item;
|
2022-11-22 15:26:15 +01:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.world.World;
|
2014-04-11 01:59:04 +02:00
|
|
|
import net.minecraftforge.client.MinecraftForgeClient;
|
2014-06-14 21:40:45 +02:00
|
|
|
import net.minecraftforge.common.MinecraftForge;
|
2022-11-22 15:26:15 +01:00
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
2014-04-11 01:59:04 +02:00
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
public class ClientProxy extends CommonProxy {
|
2015-02-25 06:03:59 +01:00
|
|
|
public ChalkSettings chalkSettings = new ChalkSettings();
|
|
|
|
|
2014-05-23 00:35:31 +02:00
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void registerEventHandlers() {
|
2014-05-23 00:35:31 +02:00
|
|
|
super.registerEventHandlers();
|
|
|
|
FMLCommonHandler.instance().bus().register(new KeyInputEventHandler());
|
2014-10-03 21:55:22 +02:00
|
|
|
FMLCommonHandler.instance().bus().register(new HUDTickHandler());
|
2023-01-07 14:49:18 +01:00
|
|
|
MinecraftForge.EVENT_BUS.register(new ItemTooltipEventHandler(Loader.isModLoaded("ProjectE")));
|
2014-07-15 19:24:04 +02:00
|
|
|
MinecraftForge.EVENT_BUS.register(new DrawBlockHighlightEventHandler());
|
2014-05-23 00:35:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void registerKeybindings() {
|
2014-05-23 00:35:31 +02:00
|
|
|
ClientRegistry.registerKeyBinding(Keybindings.charge);
|
|
|
|
ClientRegistry.registerKeyBinding(Keybindings.extra);
|
|
|
|
ClientRegistry.registerKeyBinding(Keybindings.release);
|
|
|
|
ClientRegistry.registerKeyBinding(Keybindings.toggle);
|
|
|
|
}
|
|
|
|
|
2014-06-22 16:49:44 +02:00
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void playSound(
|
|
|
|
String soundName,
|
|
|
|
float xCoord,
|
|
|
|
float yCoord,
|
|
|
|
float zCoord,
|
|
|
|
float volume,
|
|
|
|
float pitch
|
|
|
|
) {
|
2014-07-21 20:47:00 +02:00
|
|
|
ClientSoundHelper.playSound(soundName, xCoord, yCoord, zCoord, volume, pitch);
|
|
|
|
}
|
|
|
|
|
2015-03-22 23:52:04 +01:00
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void spawnParticle(
|
|
|
|
String particleName,
|
|
|
|
double xCoord,
|
|
|
|
double yCoord,
|
|
|
|
double zCoord,
|
|
|
|
double xVelocity,
|
|
|
|
double yVelocity,
|
|
|
|
double zVelocity
|
|
|
|
) {
|
|
|
|
ClientParticleHelper.spawnParticleAtLocation(
|
|
|
|
particleName, xCoord, yCoord, zCoord, xVelocity, yVelocity, zVelocity
|
|
|
|
);
|
2015-03-22 23:52:04 +01:00
|
|
|
}
|
|
|
|
|
2014-10-09 22:13:06 +02:00
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public ClientProxy getClientProxy() {
|
2014-10-09 22:13:06 +02:00
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
2014-07-21 20:47:00 +02:00
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void initRenderingAndTextures() {
|
2014-04-11 01:59:04 +02:00
|
|
|
RenderIds.calcinator = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
RenderIds.aludel = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
RenderIds.alchemicalChest = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
RenderIds.glassBell = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
RenderIds.researchStation = RenderingRegistry.getNextAvailableRenderId();
|
2014-07-17 21:20:53 +02:00
|
|
|
RenderIds.augmentationTable = RenderingRegistry.getNextAvailableRenderId();
|
2014-09-19 04:38:14 +02:00
|
|
|
RenderIds.alchemyArray = RenderingRegistry.getNextAvailableRenderId();
|
2014-10-17 21:04:47 +02:00
|
|
|
RenderIds.dummyArray = RenderingRegistry.getNextAvailableRenderId();
|
2015-03-11 21:34:37 +01:00
|
|
|
RenderIds.tabletSlab = RenderingRegistry.getNextAvailableRenderId();
|
2014-04-11 01:59:04 +02:00
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
MinecraftForgeClient.registerItemRenderer(
|
|
|
|
Item.getItemFromBlock(ModBlocks.alchemicalChest),
|
|
|
|
new ItemRendererAlchemicalChest()
|
|
|
|
);
|
|
|
|
MinecraftForgeClient.registerItemRenderer(
|
|
|
|
Item.getItemFromBlock(ModBlocks.aludel), new ItemRendererAludel()
|
|
|
|
);
|
|
|
|
MinecraftForgeClient.registerItemRenderer(
|
|
|
|
Item.getItemFromBlock(ModBlocks.calcinator), new ItemRendererCalcinator()
|
|
|
|
);
|
|
|
|
MinecraftForgeClient.registerItemRenderer(
|
|
|
|
Item.getItemFromBlock(ModBlocks.glassBell), new ItemRendererGlassBell()
|
|
|
|
);
|
|
|
|
MinecraftForgeClient.registerItemRenderer(
|
|
|
|
Item.getItemFromBlock(ModBlocks.researchStation),
|
|
|
|
new ItemRendererResearchStation()
|
|
|
|
);
|
2014-04-11 01:59:04 +02:00
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityAlchemicalChest.class, new TileEntityRendererAlchemicalChest()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityCalcinator.class, new TileEntityRendererCalcinator()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityAludel.class, new TileEntityRendererAludel()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityGlassBell.class, new TileEntityRendererGlassBell()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityResearchStation.class, new TileEntityRendererResearchStation()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityAlchemyArray.class, new TileEntityRendererAlchemyArray()
|
|
|
|
);
|
|
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
|
|
TileEntityTransmutationTablet.class,
|
|
|
|
new TileEntityRendererTransmutationTablet()
|
|
|
|
);
|
2014-04-11 01:59:04 +02:00
|
|
|
}
|
2022-11-22 15:26:15 +01:00
|
|
|
|
|
|
|
@Override
|
2023-01-03 17:47:36 +01:00
|
|
|
public void transmuteBlock(
|
|
|
|
ItemStack itemStack,
|
|
|
|
EntityPlayer player,
|
|
|
|
World world,
|
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
int z,
|
|
|
|
ForgeDirection sideHit
|
|
|
|
) {
|
2022-11-22 15:26:15 +01:00
|
|
|
if (TransmutationHelper.targetBlockStack != null && itemStack != null) {
|
|
|
|
ItemStack stack = TransmutationHelper.targetBlockStack;
|
|
|
|
Block targetBlock = Block.getBlockFromItem(stack.getItem());
|
2023-01-03 17:47:36 +01:00
|
|
|
PacketHandler.INSTANCE.sendToServer(new MessageTransmutateEvent(
|
|
|
|
x, y, z, sideHit, targetBlock, stack.getItemDamage()
|
|
|
|
));
|
|
|
|
}
|
2022-11-22 15:26:15 +01:00
|
|
|
}
|
2013-08-23 16:59:50 +02:00
|
|
|
}
|