mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
item rendering code is stored in the balls
This commit is contained in:
parent
32ab93f146
commit
77cb82b502
@ -15,4 +15,5 @@
|
|||||||
* Fixed hydroreactive items not exploding when submerged in water
|
* Fixed hydroreactive items not exploding when submerged in water
|
||||||
* Fixed fluid valves visually disconnecting when switching state
|
* Fixed fluid valves visually disconnecting when switching state
|
||||||
* Fixed fluid valves no visually connecting when type is set
|
* Fixed fluid valves no visually connecting when type is set
|
||||||
* Fixed falling blocks spawned by nukes or impulse grenades dropping blocks that don't have drops
|
* Fixed falling blocks spawned by nukes or impulse grenades dropping blocks that don't have drops
|
||||||
|
* Added even more exception handling to CompStacks, hopefully fixing an incompatibility with Mana Metal
|
||||||
@ -245,8 +245,9 @@ public class BossSpawnHandler {
|
|||||||
Vec3 vec;
|
Vec3 vec;
|
||||||
if(repell) {
|
if(repell) {
|
||||||
vec = Vec3.createVectorHelper(meteor.posX - player.posX, 0, meteor.posZ - player.posZ).normalize();
|
vec = Vec3.createVectorHelper(meteor.posX - player.posX, 0, meteor.posZ - player.posZ).normalize();
|
||||||
vec.xCoord = vec.xCoord * meteorRand.nextDouble() - 0.5D;
|
double vel = meteorRand.nextDouble();
|
||||||
vec.zCoord = vec.zCoord * meteorRand.nextDouble() - 0.5D;
|
vec.xCoord = vec.xCoord * vel;
|
||||||
|
vec.zCoord = vec.zCoord * vel;
|
||||||
meteor.safe = true;
|
meteor.safe = true;
|
||||||
} else {
|
} else {
|
||||||
vec = Vec3.createVectorHelper(meteorRand.nextDouble() - 0.5D, 0, 0);
|
vec = Vec3.createVectorHelper(meteorRand.nextDouble() - 0.5D, 0, 0);
|
||||||
|
|||||||
@ -116,10 +116,17 @@ public class RecipesCommon {
|
|||||||
this.stacksize = 1;
|
this.stacksize = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.item = stack.getItem();
|
try {
|
||||||
if(this.item == null) this.item = ModItems.nothing; //i'm going to bash some fuckard's head in
|
this.item = stack.getItem();
|
||||||
this.stacksize = stack.stackSize;
|
if(this.item == null) this.item = ModItems.nothing; //i'm going to bash some fuckard's head in
|
||||||
this.meta = stack.getItemDamage();
|
this.stacksize = stack.stackSize;
|
||||||
|
this.meta = stack.getItemDamage();
|
||||||
|
} catch(Exception ex) {
|
||||||
|
this.item = ModItems.nothing;
|
||||||
|
if(!GeneralConfig.enableSilentCompStackErrors) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ComparableStack makeSingular() {
|
public ComparableStack makeSingular() {
|
||||||
|
|||||||
@ -7,12 +7,16 @@ public interface IMagazine {
|
|||||||
|
|
||||||
/** What ammo is loaded currently */
|
/** What ammo is loaded currently */
|
||||||
public Object getType(ItemStack stack);
|
public Object getType(ItemStack stack);
|
||||||
|
/** Sets the mag's ammo type */
|
||||||
|
public void setType(ItemStack stack, Object type);
|
||||||
/** How much ammo this mag can carry */
|
/** How much ammo this mag can carry */
|
||||||
public int getCapacity(ItemStack stack);
|
public int getCapacity(ItemStack stack);
|
||||||
/** How much ammo is currently loaded */
|
/** How much ammo is currently loaded */
|
||||||
public int getAmount(ItemStack stack);
|
public int getAmount(ItemStack stack);
|
||||||
/** Sets the mag's ammo level */
|
/** Sets the mag's ammo level */
|
||||||
public void setAmount(ItemStack stack, int amount);
|
public void setAmount(ItemStack stack, int amount);
|
||||||
|
/** If a reload can even be initiated, i.e. the player even has bullets to load */
|
||||||
|
public boolean canReload(ItemStack stack, EntityPlayer player);
|
||||||
/** The action done at the end of one reload cycle, either loading one shell or replacing the whole mag */
|
/** The action done at the end of one reload cycle, either loading one shell or replacing the whole mag */
|
||||||
public void reloadAction(ItemStack stack, EntityPlayer player);
|
public void reloadAction(ItemStack stack, EntityPlayer player);
|
||||||
/** The stack that should be displayed for the ammo HUD */
|
/** The stack that should be displayed for the ammo HUD */
|
||||||
|
|||||||
@ -12,9 +12,63 @@ public class MagazineRevolverDrum extends MagazineStandardBase {
|
|||||||
super(index, capacity);
|
super(index, capacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns true if the player has the same ammo if partially loaded, or any valid ammo if not */
|
||||||
|
@Override
|
||||||
|
public boolean canReload(ItemStack stack, EntityPlayer player) {
|
||||||
|
|
||||||
|
for(ItemStack slot : player.inventory.mainInventory) {
|
||||||
|
|
||||||
|
if(slot != null) {
|
||||||
|
if(this.getAmount(stack) == 0) {
|
||||||
|
for(BulletConfig config : this.acceptedBullets) {
|
||||||
|
if(config.ammo.matchesRecipe(slot, true)) return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
BulletConfig config = (BulletConfig) this.getType(stack);
|
||||||
|
if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); }
|
||||||
|
if(config.ammo.matchesRecipe(slot, true)) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Reloads all rounds at once. If the mag is empty, the mag's type will change to the first valid ammo type */
|
||||||
@Override
|
@Override
|
||||||
public void reloadAction(ItemStack stack, EntityPlayer player) {
|
public void reloadAction(ItemStack stack, EntityPlayer player) {
|
||||||
|
|
||||||
|
for(int i = 0; i < player.inventory.mainInventory.length; i++) {
|
||||||
|
ItemStack slot = player.inventory.mainInventory[i];
|
||||||
|
|
||||||
|
if(slot != null) {
|
||||||
|
|
||||||
|
//mag is empty, assume next best type
|
||||||
|
if(this.getAmount(stack) == 0) {
|
||||||
|
|
||||||
|
for(BulletConfig config : this.acceptedBullets) {
|
||||||
|
if(config.ammo.matchesRecipe(slot, true)) {
|
||||||
|
this.setType(stack, config);
|
||||||
|
int toLoad = Math.min(this.getCapacity(stack), slot.stackSize);
|
||||||
|
this.setAmount(stack, toLoad);
|
||||||
|
player.inventory.decrStackSize(i, toLoad);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//mag has a type set, only load that
|
||||||
|
} else {
|
||||||
|
BulletConfig config = (BulletConfig) this.getType(stack);
|
||||||
|
if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } //fixing broken NBT
|
||||||
|
|
||||||
|
if(config.ammo.matchesRecipe(slot, true)) {
|
||||||
|
int alreadyLoaded = this.getAmount(stack);
|
||||||
|
int toLoad = Math.min(this.getCapacity(stack) - alreadyLoaded, slot.stackSize);
|
||||||
|
this.setAmount(stack, toLoad + alreadyLoaded);
|
||||||
|
player.inventory.decrStackSize(i, toLoad);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import com.hbm.items.weapon.sedna.Receiver;
|
|||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
/** Base class for typical magazines, i.e. ones that hold bullets, shells, grenades, etc, any ammo item */
|
/** Base class for typical magazines, i.e. ones that hold bullets, shells, grenades, etc, any ammo item. Type methods deal with BulletConfigs */
|
||||||
public abstract class MagazineStandardBase implements IMagazine {
|
public abstract class MagazineStandardBase implements IMagazine {
|
||||||
|
|
||||||
public static final String KEY_MAG_COUNT = "magcount";
|
public static final String KEY_MAG_COUNT = "magcount";
|
||||||
@ -33,12 +33,19 @@ public abstract class MagazineStandardBase implements IMagazine {
|
|||||||
@Override
|
@Override
|
||||||
public Object getType(ItemStack stack) {
|
public Object getType(ItemStack stack) {
|
||||||
int type = getMagType(stack, index);
|
int type = getMagType(stack, index);
|
||||||
if(type >= 0 && type < BulletConfig.configs.size()) {
|
if(type >= 0 && type < acceptedBullets.size()) {
|
||||||
return BulletConfig.configs.get(type);
|
return acceptedBullets.get(type);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setType(ItemStack stack, Object type) {
|
||||||
|
if(!(type instanceof BulletConfig)) return;
|
||||||
|
int i = acceptedBullets.indexOf(type);
|
||||||
|
if(i >= 0) setMagType(stack, index, i);
|
||||||
|
}
|
||||||
|
|
||||||
@Override public int getCapacity(ItemStack stack) { return capacity; }
|
@Override public int getCapacity(ItemStack stack) { return capacity; }
|
||||||
@Override public int getAmount(ItemStack stack) { return getMagCount(stack, index); }
|
@Override public int getAmount(ItemStack stack) { return getMagCount(stack, index); }
|
||||||
@Override public void setAmount(ItemStack stack, int amount) { setMagCount(stack, index, amount); }
|
@Override public void setAmount(ItemStack stack, int amount) { setMagCount(stack, index, amount); }
|
||||||
|
|||||||
@ -104,6 +104,7 @@ import com.hbm.render.item.*;
|
|||||||
import com.hbm.render.item.ItemRenderMissileGeneric.RenderMissileType;
|
import com.hbm.render.item.ItemRenderMissileGeneric.RenderMissileType;
|
||||||
import com.hbm.render.item.block.*;
|
import com.hbm.render.item.block.*;
|
||||||
import com.hbm.render.item.weapon.*;
|
import com.hbm.render.item.weapon.*;
|
||||||
|
import com.hbm.render.item.weapon.sedna.*;
|
||||||
import com.hbm.render.loader.HmfModelLoader;
|
import com.hbm.render.loader.HmfModelLoader;
|
||||||
import com.hbm.render.model.ModelPigeon;
|
import com.hbm.render.model.ModelPigeon;
|
||||||
import com.hbm.render.tileentity.*;
|
import com.hbm.render.tileentity.*;
|
||||||
@ -602,6 +603,8 @@ public class ClientProxy extends ServerProxy {
|
|||||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_coilgun, new ItemRenderWeaponCoilgun());
|
MinecraftForgeClient.registerItemRenderer(ModItems.gun_coilgun, new ItemRenderWeaponCoilgun());
|
||||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_cryocannon, new ItemRenderWeaponCryoCannon());
|
MinecraftForgeClient.registerItemRenderer(ModItems.gun_cryocannon, new ItemRenderWeaponCryoCannon());
|
||||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_congolake, new ItemRenderWeaponCongo());
|
MinecraftForgeClient.registerItemRenderer(ModItems.gun_congolake, new ItemRenderWeaponCongo());
|
||||||
|
//SEDNA
|
||||||
|
MinecraftForgeClient.registerItemRenderer(ModItems.gun_debug, new ItemRenderDebug());
|
||||||
//multitool
|
//multitool
|
||||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool());
|
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool());
|
||||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool());
|
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool());
|
||||||
|
|||||||
@ -1071,8 +1071,8 @@ public class ModEventHandlerClient {
|
|||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onMouseClicked(InputEvent.KeyInputEvent event) {
|
public void onMouseClicked(InputEvent.MouseInputEvent event) {
|
||||||
|
|
||||||
Minecraft mc = Minecraft.getMinecraft();
|
Minecraft mc = Minecraft.getMinecraft();
|
||||||
if(GeneralConfig.enableKeybindOverlap && (mc.currentScreen == null || mc.currentScreen.allowUserInput)) {
|
if(GeneralConfig.enableKeybindOverlap && (mc.currentScreen == null || mc.currentScreen.allowUserInput)) {
|
||||||
boolean state = Mouse.getEventButtonState();
|
boolean state = Mouse.getEventButtonState();
|
||||||
@ -1083,7 +1083,7 @@ public class ModEventHandlerClient {
|
|||||||
KeyBinding key = (KeyBinding) o;
|
KeyBinding key = (KeyBinding) o;
|
||||||
|
|
||||||
if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) {
|
if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) {
|
||||||
|
|
||||||
key.pressed = state;
|
key.pressed = state;
|
||||||
if(state) {
|
if(state) {
|
||||||
key.pressTime++;
|
key.pressTime++;
|
||||||
|
|||||||
@ -8,7 +8,9 @@ import com.hbm.config.RadiationConfig;
|
|||||||
import com.hbm.handler.pollution.PollutionHandler.PollutionType;
|
import com.hbm.handler.pollution.PollutionHandler.PollutionType;
|
||||||
import com.hbm.items.armor.IArmorDisableModel;
|
import com.hbm.items.armor.IArmorDisableModel;
|
||||||
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
|
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
|
||||||
|
import com.hbm.items.weapon.sedna.ItemGunBase;
|
||||||
import com.hbm.packet.PermaSyncHandler;
|
import com.hbm.packet.PermaSyncHandler;
|
||||||
|
import com.hbm.render.item.weapon.sedna.ItemRenderWeaponBase;
|
||||||
import com.hbm.render.model.ModelMan;
|
import com.hbm.render.model.ModelMan;
|
||||||
import com.hbm.world.biome.BiomeGenCraterBase;
|
import com.hbm.world.biome.BiomeGenCraterBase;
|
||||||
|
|
||||||
@ -33,11 +35,15 @@ import net.minecraft.util.MovingObjectPosition;
|
|||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.BiomeGenBase;
|
import net.minecraft.world.biome.BiomeGenBase;
|
||||||
|
import net.minecraftforge.client.IItemRenderer;
|
||||||
|
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
|
||||||
|
import net.minecraftforge.client.MinecraftForgeClient;
|
||||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors;
|
import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors;
|
||||||
import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity;
|
import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||||
|
import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||||
import net.minecraftforge.common.ForgeModContainer;
|
import net.minecraftforge.common.ForgeModContainer;
|
||||||
|
|
||||||
@ -409,6 +415,24 @@ public class ModEventHandlerRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onRenderHand(RenderHandEvent event) {
|
||||||
|
|
||||||
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
ItemStack held = player.getHeldItem();
|
||||||
|
|
||||||
|
if(held != null) {
|
||||||
|
IItemRenderer renderer = MinecraftForgeClient.getItemRenderer(held, ItemRenderType.EQUIPPED_FIRST_PERSON);
|
||||||
|
|
||||||
|
if(renderer instanceof ItemRenderWeaponBase) {
|
||||||
|
renderer.renderItem(ItemRenderType.FIRST_PERSON_MAP, held, null /*RenderBlocks*/, player);
|
||||||
|
//Minecraft.getMinecraft().entityRenderer.itemRenderer.renderItemInFirstPerson(event.partialTicks);
|
||||||
|
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean fogInit = false;
|
private static boolean fogInit = false;
|
||||||
private static int fogX;
|
private static int fogX;
|
||||||
private static int fogZ;
|
private static int fogZ;
|
||||||
|
|||||||
@ -951,6 +951,7 @@ public class ResourceManager {
|
|||||||
public static final ResourceLocation congolake_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/congolake.png");
|
public static final ResourceLocation congolake_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/congolake.png");
|
||||||
public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png");
|
public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png");
|
||||||
public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png");
|
public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png");
|
||||||
|
public static final ResourceLocation debug_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/debug_gun.png");
|
||||||
|
|
||||||
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
|
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,44 @@
|
|||||||
|
package com.hbm.render.item.weapon.sedna;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.main.ResourceManager;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public class ItemRenderDebug extends ItemRenderWeaponBase {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderFirstPerson(ItemStack stack) {
|
||||||
|
|
||||||
|
double scale = 0.125D;
|
||||||
|
GL11.glScaled(scale, scale, scale);
|
||||||
|
GL11.glRotated(90, 0, 1, 0);
|
||||||
|
|
||||||
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.debug_gun_tex);
|
||||||
|
ResourceManager.lilmac.renderPart("Gun");
|
||||||
|
ResourceManager.lilmac.renderPart("Cylinder");
|
||||||
|
ResourceManager.lilmac.renderPart("Bullets");
|
||||||
|
ResourceManager.lilmac.renderPart("Casings");
|
||||||
|
ResourceManager.lilmac.renderPart("Pivot");
|
||||||
|
ResourceManager.lilmac.renderPart("Hammer");
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderOther(ItemStack stack, ItemRenderType type) {
|
||||||
|
GL11.glRotated(90, 0, 1, 0);
|
||||||
|
|
||||||
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.debug_gun_tex);
|
||||||
|
ResourceManager.lilmac.renderPart("Gun");
|
||||||
|
ResourceManager.lilmac.renderPart("Cylinder");
|
||||||
|
ResourceManager.lilmac.renderPart("Bullets");
|
||||||
|
ResourceManager.lilmac.renderPart("Casings");
|
||||||
|
ResourceManager.lilmac.renderPart("Pivot");
|
||||||
|
ResourceManager.lilmac.renderPart("Hammer");
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,82 @@
|
|||||||
|
package com.hbm.render.item.weapon.sedna;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
import org.lwjgl.util.glu.Project;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.client.IItemRenderer;
|
||||||
|
|
||||||
|
public abstract class ItemRenderWeaponBase implements IItemRenderer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||||
|
return type != ItemRenderType.FIRST_PERSON_MAP;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||||
|
return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("incomplete-switch") //shut the fuck up
|
||||||
|
@Override
|
||||||
|
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
switch(type) {
|
||||||
|
case EQUIPPED_FIRST_PERSON: setupFirstPerson(item); renderFirstPerson(item); break;
|
||||||
|
case EQUIPPED: setupThirdPerson(item); renderOther(item, type); break;
|
||||||
|
case INVENTORY: setupInv(item); renderOther(item, type); break;
|
||||||
|
case ENTITY: setupEntity(item); renderOther(item, type); break;
|
||||||
|
}
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setupFirstPerson(ItemStack stack) {
|
||||||
|
GL11.glMatrixMode(GL11.GL_PROJECTION);
|
||||||
|
GL11.glLoadIdentity();
|
||||||
|
float f1 = 0.07F;
|
||||||
|
Minecraft mc = Minecraft.getMinecraft();
|
||||||
|
float farPlaneDistance = mc.gameSettings.renderDistanceChunks * 16;
|
||||||
|
float interp = 0;
|
||||||
|
|
||||||
|
Project.gluPerspective(1, (float)mc.displayWidth / (float)mc.displayHeight, 0.05F, farPlaneDistance * 2.0F);
|
||||||
|
|
||||||
|
|
||||||
|
GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
||||||
|
GL11.glLoadIdentity();
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
//this.hurtCameraEffect(interp);
|
||||||
|
|
||||||
|
if (mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping() && !mc.gameSettings.hideGUI && !mc.playerController.enableEverythingIsScrewedUpMode())
|
||||||
|
{
|
||||||
|
//this.enableLightmap((double)p_78476_1_);
|
||||||
|
this.renderItem(ItemRenderType.EQUIPPED_FIRST_PERSON, stack, null, mc.thePlayer);
|
||||||
|
//this.disableLightmap((double)p_78476_1_);
|
||||||
|
}
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
//GL11.glRotated(90, 0, 1, 0);
|
||||||
|
//GL11.glRotated(40, -1, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setupThirdPerson(ItemStack stack) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setupInv(ItemStack stack) {
|
||||||
|
GL11.glScaled(1, 1, -1);
|
||||||
|
GL11.glTranslated(8, 8, 0);
|
||||||
|
GL11.glRotated(225, 0, 0, 1);
|
||||||
|
GL11.glRotated(90, 0, 1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setupEntity(ItemStack stack) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void renderFirstPerson(ItemStack stack);
|
||||||
|
public abstract void renderOther(ItemStack stack, ItemRenderType type);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user