Multiplayer Bugfixes
This commit is contained in:
parent
2415e5db13
commit
d5affb3a5a
|
|
@ -6,6 +6,7 @@ import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
|
import net.minecraft.client.entity.EntityPlayerSP;
|
||||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||||
import net.minecraft.client.model.ModelBiped;
|
import net.minecraft.client.model.ModelBiped;
|
||||||
import net.minecraft.client.model.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
@ -31,7 +32,6 @@ import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.InputEvent;
|
import net.minecraftforge.fml.common.gameevent.InputEvent;
|
||||||
import net.minecraftforge.fml.relauncher.ReflectionHelper;
|
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import tschipp.carryon.common.config.CarryOnConfig;
|
import tschipp.carryon.common.config.CarryOnConfig;
|
||||||
|
|
@ -76,8 +76,8 @@ public class RenderEvents
|
||||||
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
||||||
if (inventory && !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
if (inventory && !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
Minecraft.getMinecraft().currentScreen = null;
|
Minecraft.getMinecraft().currentScreen = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -124,7 +124,7 @@ public class RenderEvents
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().world;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
int pass = event.getRenderPass();
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
||||||
{
|
{
|
||||||
Block block = ItemTile.getBlock(stack);
|
Block block = ItemTile.getBlock(stack);
|
||||||
|
|
@ -154,8 +154,11 @@ public class RenderEvents
|
||||||
GlStateManager.scale(1, 1, 1);
|
GlStateManager.scale(1, 1, 1);
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
|
|
||||||
event.setCanceled(true);
|
if (perspective == 0)
|
||||||
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
event.setCanceled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -166,7 +169,8 @@ public class RenderEvents
|
||||||
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().world;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
|
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -183,7 +187,12 @@ public class RenderEvents
|
||||||
float rotation = -player.renderYawOffset;
|
float rotation = -player.renderYawOffset;
|
||||||
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
||||||
|
|
||||||
|
double xOffset = (double) player.posX - (double) clientPlayer.posX;
|
||||||
|
double yOffset = (double) player.posY - (double) clientPlayer.posY;
|
||||||
|
double zOffset = (double) player.posZ - (double) clientPlayer.posZ;
|
||||||
|
|
||||||
GlStateManager.pushMatrix();
|
GlStateManager.pushMatrix();
|
||||||
|
GlStateManager.translate(xOffset, yOffset, zOffset);
|
||||||
GlStateManager.scale(0.6, 0.6, 0.6);
|
GlStateManager.scale(0.6, 0.6, 0.6);
|
||||||
|
|
||||||
if (CarryOnConfig.settings.facePlayer ? !isChest(block) : isChest(block))
|
if (CarryOnConfig.settings.facePlayer ? !isChest(block) : isChest(block))
|
||||||
|
|
@ -216,35 +225,40 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPlayerRenderPre(RenderPlayerEvent.Pre event)
|
public void onPlayerRenderPre(RenderPlayerEvent.Pre event)
|
||||||
{
|
{
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
AbstractClientPlayer aplayer = Minecraft.getMinecraft().player;
|
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
RenderPlayer renderer = event.getRenderer();
|
ModelBiped model = event.getRenderer().getMainModel();
|
||||||
ModelBiped model = getPlayerModel(aplayer);
|
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player;
|
||||||
|
|
||||||
ResourceLocation skinLoc = DefaultPlayerSkin.getDefaultSkin(player.getPersistentID());
|
ResourceLocation skinLoc = DefaultPlayerSkin.getDefaultSkin(player.getPersistentID());
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
||||||
{
|
{
|
||||||
model.bipedLeftArm.isHidden = true;
|
model.bipedLeftArm.isHidden = true;
|
||||||
model.bipedRightArm.isHidden = true;
|
model.bipedRightArm.isHidden = true;
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(skinLoc);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(skinLoc);
|
||||||
RenderPlayer renderPlayer = (RenderPlayer)renderer;
|
|
||||||
float rotation = -player.renderYawOffset;
|
float rotation = -player.renderYawOffset;
|
||||||
ModelRenderer fakeLeftArm = new ModelRenderer(model, 40, 16);
|
ModelRenderer fakeLeftArm = new ModelRenderer(model, 40, 16);
|
||||||
fakeLeftArm.mirror = true;
|
fakeLeftArm.mirror = true;
|
||||||
if (aplayer.getSkinType().equals("default")) {
|
if (aplayer.getSkinType().equals("default"))
|
||||||
|
{
|
||||||
fakeLeftArm.addBox(model.bipedLeftArm.offsetX + 4.2F, model.bipedLeftArm.offsetY, model.bipedLeftArm.offsetZ, 4, 12, 4, .08F);
|
fakeLeftArm.addBox(model.bipedLeftArm.offsetX + 4.2F, model.bipedLeftArm.offsetY, model.bipedLeftArm.offsetZ, 4, 12, 4, .08F);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
fakeLeftArm.addBox(model.bipedLeftArm.offsetX + 4.2F, model.bipedLeftArm.offsetY, model.bipedLeftArm.offsetZ, 3, 12, 4, .08F);
|
fakeLeftArm.addBox(model.bipedLeftArm.offsetX + 4.2F, model.bipedLeftArm.offsetY, model.bipedLeftArm.offsetZ, 3, 12, 4, .08F);
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelRenderer fakeRightArm = new ModelRenderer(model, 40, 16);
|
ModelRenderer fakeRightArm = new ModelRenderer(model, 40, 16);
|
||||||
fakeRightArm.mirror = true;
|
fakeRightArm.mirror = true;
|
||||||
if (aplayer.getSkinType().equals("default")) {
|
if (aplayer.getSkinType().equals("default"))
|
||||||
|
{
|
||||||
fakeRightArm.addBox(model.bipedRightArm.offsetX - 7.9F, model.bipedRightArm.offsetY, model.bipedRightArm.offsetZ, 4, 12, 4, .08F);
|
fakeRightArm.addBox(model.bipedRightArm.offsetX - 7.9F, model.bipedRightArm.offsetY, model.bipedRightArm.offsetZ, 4, 12, 4, .08F);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
fakeRightArm.addBox(model.bipedRightArm.offsetX - 7.2F, model.bipedRightArm.offsetY, model.bipedRightArm.offsetZ, 3, 12, 4, .08F);
|
fakeRightArm.addBox(model.bipedRightArm.offsetX - 7.2F, model.bipedRightArm.offsetY, model.bipedRightArm.offsetZ, 3, 12, 4, .08F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -252,21 +266,21 @@ public class RenderEvents
|
||||||
fakeLeftArm.rotateAngleX = -.9F;
|
fakeLeftArm.rotateAngleX = -.9F;
|
||||||
model.bipedBody.addChild(fakeLeftArm);
|
model.bipedBody.addChild(fakeLeftArm);
|
||||||
model.bipedBody.addChild(fakeRightArm);
|
model.bipedBody.addChild(fakeRightArm);
|
||||||
|
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
model.bipedLeftArm.isHidden = false;
|
model.bipedLeftArm.isHidden = false;
|
||||||
model.bipedRightArm.isHidden = false;
|
model.bipedRightArm.isHidden = false;
|
||||||
if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty()) {
|
if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty())
|
||||||
|
{
|
||||||
model.bipedBody.childModels.clear();
|
model.bipedBody.childModels.clear();
|
||||||
model.bipedBody.childModels.add(model.bipedLeftArm);
|
|
||||||
model.bipedBody.childModels.add(model.bipedRightArm);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isChest(Block block)
|
public static boolean isChest(Block block)
|
||||||
{
|
{
|
||||||
return block == Blocks.CHEST || block == Blocks.ENDER_CHEST || block == Blocks.TRAPPED_CHEST;
|
return block == Blocks.CHEST || block == Blocks.ENDER_CHEST || block == Blocks.TRAPPED_CHEST;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import net.minecraft.util.EnumHand;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
||||||
|
import net.minecraftforge.event.entity.player.PlayerEvent.StartTracking;
|
||||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.Event.Result;
|
import net.minecraftforge.fml.common.eventhandler.Event.Result;
|
||||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||||
|
|
@ -23,7 +24,7 @@ import tschipp.carryon.common.item.ItemTile;
|
||||||
|
|
||||||
public class ItemEvents
|
public class ItemEvents
|
||||||
{
|
{
|
||||||
|
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -37,5 +37,6 @@ public class RegistrationHandler
|
||||||
{
|
{
|
||||||
ModelOverridesHandler.initOverrides();
|
ModelOverridesHandler.initOverrides();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user