fixed mojang's weird input restrictions, more tram stuff

This commit is contained in:
Boblet 2023-05-09 13:58:17 +02:00
parent 73911abbd6
commit 6d5e5ddc6d
6 changed files with 30 additions and 15 deletions

View File

@ -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

View File

@ -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());

View File

@ -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));
}
}
}
}

View File

@ -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"));

View File

@ -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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB