diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 7761a76e0..5dcff8b21 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,8 +1,6 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM.TrackGauge; -import com.hbm.inventory.container.ContainerCrateSteel; -import com.hbm.inventory.gui.GUICrateSteel; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; @@ -71,12 +69,12 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider @Override public double getLengthSpan() { - return 2; + return 1.5; } @Override public Vec3 getRiderSeatPosition() { - return Vec3.createVectorHelper(0.375, 1.75, 0.5); + return Vec3.createVectorHelper(0.375, 2.25, 0.5); } @Override @@ -90,7 +88,7 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider @Override public boolean shouldRiderSit() { - return true; + return false; } @Override diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index e69446d89..8143d4828 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -61,6 +61,7 @@ import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; import com.hbm.entity.train.*; +import com.hbm.entity.train.EntityRailCarRidable.SeatDummyEntity; import com.hbm.handler.CasingEjector; import com.hbm.handler.HbmKeybinds; import com.hbm.handler.ImpactWorldHandler; @@ -682,6 +683,8 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart()); RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); + //trains + RenderingRegistry.registerEntityRenderingHandler(SeatDummyEntity.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); //items RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index c3efd654e..2af37c069 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -12,8 +12,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; -import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -45,7 +43,6 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; import com.hbm.packet.SyncButtonsPacket; import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations.Animation; @@ -68,14 +65,12 @@ import com.hbm.tileentity.machine.TileEntityNukeFurnace; import com.hbm.util.I18nUtil; import com.hbm.util.ItemStackUtil; import com.hbm.util.LoggingUtil; -import com.hbm.util.ParticleUtil; import com.hbm.wiaj.GuiWorldInAJar; import com.hbm.wiaj.cannery.CanneryBase; import com.hbm.wiaj.cannery.Jars; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; import com.hbm.util.ArmorRegistry.HazardClass; -import com.hbm.util.fauxpointtwelve.BlockPos; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; import api.hbm.item.IButtonReceiver; @@ -90,12 +85,14 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; +import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.multiplayer.WorldClient; @@ -104,15 +101,15 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; +import net.minecraft.network.play.client.C03PacketPlayer; +import net.minecraft.network.play.client.C0CPacketInput; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; @@ -135,7 +132,6 @@ import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.event.entity.player.ItemTooltipEvent; public class ModEventHandlerClient { @@ -1166,4 +1162,21 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_LIGHTING); } } + + @SubscribeEvent + public void worldTick(WorldTickEvent event) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + + if(player != null && player.ridingEntity instanceof EntityRailCarRidable && player instanceof EntityClientPlayerMP) { + EntityRailCarRidable train = (EntityRailCarRidable) player.ridingEntity; + EntityClientPlayerMP client = (EntityClientPlayerMP) player; + + //mojank compensation, because apparently the "this makes the render work" method also determines the fucking input + if(!train.shouldRiderSit()) { + client.sendQueue.addToSendQueue(new C03PacketPlayer.C05PacketPlayerLook(client.rotationYaw, client.rotationPitch, client.onGround)); + client.sendQueue.addToSendQueue(new C0CPacketInput(client.moveStrafing, client.moveForward, client.movementInput.jump, client.movementInput.sneak)); + } + } + } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 302a3523c..64c2e280d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1279,6 +1279,7 @@ public class ResourceManager { public static final ResourceLocation cart_powder_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/block_gunpowder.png"); public static final ResourceLocation cart_semtex_side = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_side.png"); public static final ResourceLocation cart_semtex_top = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_bottom.png"); + public static final ResourceLocation train_tram = new ResourceLocation(RefStrings.MODID, "textures/models/trains/tram.png"); //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj")); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 5603c1d94..36a19e415 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -23,7 +23,7 @@ public class RenderTrainCargoTram extends Render { MainRegistry.proxy.displayTooltip("Render Pitch: " + entity.rotationPitch, 667); GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.universal); + bindTexture(ResourceManager.train_tram); ResourceManager.train_cargo_tram.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); @@ -32,6 +32,6 @@ public class RenderTrainCargoTram extends Render { @Override protected ResourceLocation getEntityTexture(Entity entity) { - return ResourceManager.universal; + return ResourceManager.train_tram; } } diff --git a/src/main/resources/assets/hbm/textures/models/trains/tram.png b/src/main/resources/assets/hbm/textures/models/trains/tram.png index d50856ed7..51683c637 100644 Binary files a/src/main/resources/assets/hbm/textures/models/trains/tram.png and b/src/main/resources/assets/hbm/textures/models/trains/tram.png differ