just fucking 3D everything i don't care anymore

This commit is contained in:
Boblet 2025-09-22 16:49:43 +02:00
parent bc7e00c71c
commit f389a25dec
19 changed files with 461 additions and 40 deletions

View File

@ -4264,10 +4264,10 @@ public class ModItems {
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
.setStep("hbm:step.metal").setJump("hbm:step.iron_jump").setFall("hbm:step.iron_land")
.hides(EnumPlayerPart.HAT)
.setUnlocalizedName("t51_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t51_helmet");
t51_plate = new ArmorT51(aMatT51, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t51_plate");
t51_legs = new ArmorT51(aMatT51, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t51_legs");
t51_boots = new ArmorT51(aMatT51, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t51_boots");
.setUnlocalizedName("t51_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":armor");
t51_plate = new ArmorT51(aMatT51, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":armor");
t51_legs = new ArmorT51(aMatT51, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":armor");
t51_boots = new ArmorT51(aMatT51, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t51_helmet).setUnlocalizedName("t51_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":armor");
ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0);
aMatDesh.customCraftingMaterial = ModItems.ingot_desh;

View File

@ -1,14 +1,19 @@
package com.hbm.items.armor;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorAJR;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorAJR extends ArmorFSBPowered {
public class ArmorAJR extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorAJR(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -30,4 +35,18 @@ public class ArmorAJR extends ArmorFSBPowered {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_ajr, armorType,
ResourceManager.ajr_helmet, ResourceManager.ajr_chest, ResourceManager.ajr_arm, ResourceManager.ajr_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,14 +1,19 @@
package com.hbm.items.armor;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorAJRO;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorAJRO extends ArmorFSBPowered {
public class ArmorAJRO extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorAJRO(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -30,4 +35,18 @@ public class ArmorAJRO extends ArmorFSBPowered {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_ajr, armorType,
ResourceManager.ajro_helmet, ResourceManager.ajro_chest, ResourceManager.ajro_arm, ResourceManager.ajro_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,18 +1,26 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorBJ;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
public class ArmorBJ extends ArmorFSBPowered {
public class ArmorBJ extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorBJ(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -24,31 +32,57 @@ public class ArmorBJ extends ArmorFSBPowered {
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
if(models == null) {
models = new ModelArmorBJ[4];
for(int i = 0; i < 4; i++)
models[i] = new ModelArmorBJ(i);
}
return models[armorSlot];
}
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
super.onArmorTick(world, player, itemStack);
if(this == ModItems.bj_helmet && ArmorFSB.hasFSBArmorIgnoreCharge(player) && !ArmorFSB.hasFSBArmor(player)) {
ItemStack helmet = player.inventory.armorInventory[3];
if(!player.inventory.addItemStackToInventory(helmet))
player.dropPlayerItemWithRandomChoice(helmet, false);
player.inventory.armorInventory[3] = null;
player.attackEntityFrom(ModDamageSource.lunar, 1000);
}
}
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
super.onArmorTick(world, player, itemStack);
if(this == ModItems.bj_helmet && ArmorFSB.hasFSBArmorIgnoreCharge(player) && !ArmorFSB.hasFSBArmor(player)) {
ItemStack helmet = player.inventory.armorInventory[3];
if(!player.inventory.addItemStackToInventory(helmet))
player.dropPlayerItemWithRandomChoice(helmet, false);
player.inventory.armorInventory[3] = null;
player.attackEntityFrom(ModDamageSource.lunar, 1000);
}
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
if(armorType == 1) {
if(ArmorBJ.this == ModItems.bj_plate_jetpack) {
GL11.glScaled(0.6875, 0.6875, 0.6875);
} else {
GL11.glScaled(0.875, 0.875, 0.875);
}
}
renderStandard(ResourceManager.armor_bj, armorType,
ResourceManager.bj_eyepatch, ResourceManager.bj_chest, ResourceManager.bj_arm, ResourceManager.bj_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftFoot", "RightFoot");
if(ArmorBJ.this == ModItems.bj_plate_jetpack) {
GL11.glTranslated(0, 0, -0.1);
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.bj_jetpack);
ResourceManager.armor_bj.renderPart("Jetpack");
}
}};
}
}

View File

@ -1,13 +1,21 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorBismuth;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorBismuth extends ArmorFSB {
public class ArmorBismuth extends ArmorFSB implements IItemRendererProvider {
public ArmorBismuth(ArmorMaterial material, int slot, String texture) {
super(material, slot, texture);
@ -30,4 +38,26 @@ public class ArmorBismuth extends ArmorFSB {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
if(armorType == 0) {
GL11.glTranslated(0, -0.5, 0);
GL11.glScaled(0.625, 0.625, 0.625);
}
if(armorType == 1) {
GL11.glScaled(0.875, 0.875, 0.875);
}
GL11.glDisable(GL11.GL_CULL_FACE);
renderStandard(ResourceManager.armor_bismuth, armorType,
ResourceManager.armor_bismuth_tex, ResourceManager.armor_bismuth_tex, ResourceManager.armor_bismuth_tex, ResourceManager.armor_bismuth_tex,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftFoot", "RightFoot");
GL11.glEnable(GL11.GL_CULL_FACE);
}};
}
}

View File

@ -3,12 +3,17 @@ package com.hbm.items.armor;
import java.util.List;
import java.util.UUID;
import org.lwjgl.opengl.GL11;
import com.google.common.collect.Multimap;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.handler.threading.PacketThreading;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorDNT;
import com.hbm.render.tileentity.IItemRendererProvider;
import com.hbm.util.ArmorUtil;
import com.hbm.util.BobMathUtil;
import com.hbm.util.i18n.I18nUtil;
@ -21,16 +26,18 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
public class ArmorDNT extends ArmorFSBPowered {
public class ArmorDNT extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorDNT(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -190,4 +197,23 @@ public class ArmorDNT extends ArmorFSBPowered {
list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.fastFall"));
list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.sprintBoost"));
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
if(armorType == 0) {
GL11.glTranslated(0, -1, 0);
}
setupRenderInv();
}
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_dnt, armorType,
ResourceManager.dnt_helmet, ResourceManager.dnt_chest, ResourceManager.dnt_arm, ResourceManager.dnt_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -4,7 +4,10 @@ import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorDesh;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -12,9 +15,11 @@ import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorDesh extends ArmorFSBFueled {
public class ArmorDesh extends ArmorFSBFueled implements IItemRendererProvider {
public ArmorDesh(ArmorMaterial material, int slot, String texture, FluidType fuelType, int maxFuel, int fillRate, int consumption, int drain) {
super(material, slot, texture, fuelType, maxFuel, fillRate, consumption, drain);
@ -44,4 +49,18 @@ public class ArmorDesh extends ArmorFSBFueled {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_steamsuit, armorType,
ResourceManager.steamsuit_helmet, ResourceManager.steamsuit_chest, ResourceManager.steamsuit_arm, ResourceManager.steamsuit_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,5 +1,7 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler;
@ -7,8 +9,11 @@ import com.hbm.handler.threading.PacketThreading;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorDiesel;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
@ -18,11 +23,13 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
public class ArmorDiesel extends ArmorFSBFueled {
public class ArmorDiesel extends ArmorFSBFueled implements IItemRendererProvider {
public ArmorDiesel(ArmorMaterial material, int slot, String texture, FluidType fuelType, int maxFuel, int fillRate, int consumption, int drain) {
super(material, slot, texture, fuelType, maxFuel, fillRate, consumption, drain);
@ -69,4 +76,22 @@ public class ArmorDiesel extends ArmorFSBFueled {
public boolean acceptsFluid(FluidType type, ItemStack stack) {
return type == Fluids.DIESEL || type == Fluids.DIESEL_CRACK;
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
if(armorType == 0) {
GL11.glTranslated(0, 0.5, 0);
GL11.glScaled(0.875, 0.875, 0.875);
}
renderStandard(ResourceManager.armor_dieselsuit, armorType,
ResourceManager.dieselsuit_helmet, ResourceManager.dieselsuit_chest, ResourceManager.dieselsuit_arm, ResourceManager.dieselsuit_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,14 +1,21 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorDigamma;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorDigamma extends ArmorFSBPowered {
public class ArmorDigamma extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorDigamma(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -30,4 +37,24 @@ public class ArmorDigamma extends ArmorFSBPowered {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
if(armorType == 0) {
GL11.glScaled(0.875, 0.875, 0.875);
GL11.glTranslated(0, -2, 0);
}
setupRenderInv();
}
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_fau, armorType,
ResourceManager.fau_helmet, ResourceManager.fau_chest, ResourceManager.fau_arm, ResourceManager.fau_leg,
"Head", "Body,Cassette", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -3,23 +3,32 @@ package com.hbm.items.armor;
import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorEnvsuit;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
import java.util.UUID;
public class ArmorEnvsuit extends ArmorFSBPowered {
import org.lwjgl.opengl.GL11;
public class ArmorEnvsuit extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorEnvsuit(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -91,4 +100,32 @@ public class ArmorEnvsuit extends ArmorFSBPowered {
}
}
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
if(armorType == 0) {
GL11.glScaled(0.3125, 0.3125, 0.3125);
GL11.glTranslated(0, 1, 0);
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.envsuit_helmet);
ResourceManager.armor_envsuit.renderPart("Helmet");
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(1F, 1F, 0.8F);
ResourceManager.armor_envsuit.renderPart("Lamps");
GL11.glColor3f(1F, 1F, 1F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_LIGHTING);
} else {
renderStandard(ResourceManager.armor_envsuit, armorType,
ResourceManager.envsuit_helmet, ResourceManager.envsuit_chest, ResourceManager.envsuit_arm, ResourceManager.envsuit_leg,
"Helmet,Lamps", "Chest", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftFoot", "RightFoot");
}
}};
}
}

View File

@ -10,7 +10,9 @@ import org.lwjgl.opengl.GL11;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.interfaces.NotableComments;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.ShadyUtil;
import com.hbm.util.i18n.I18nUtil;
@ -39,10 +41,12 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.model.IModelCustom;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
//Armor with full set bonus
@NotableComments
public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
private String texture = "";
@ -63,6 +67,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
public ArmorFSB(ArmorMaterial material, int slot, String texture) {
super(material, 0, slot);
this.texture = texture;
this.setTextureName(RefStrings.MODID + ":armor");
}
public ArmorFSB addEffect(PotionEffect effect) {
@ -428,4 +433,63 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
public void handleAttack(LivingAttackEvent event) { }
public void handleHurt(LivingHurtEvent event) { }
public static void setupRenderInv() {
GL11.glTranslated(0, -1.5, 0);
GL11.glScaled(3.25, 3.25, 3.25);
GL11.glRotated(180, 1, 0, 0);
GL11.glRotated(-135, 0, 1, 0);
GL11.glRotated(-20, 1, 0, 0);
}
public static void setupRenderNonInv() {
GL11.glRotated(180, 1, 0, 0);
GL11.glScaled(0.75, 0.75, 0.75);
GL11.glRotated(-90, 0, 1, 0);
}
// if it's the same vomit every time, why not make a method that does it for us?
public static void renderStandard(IModelCustom model, int armorType,
ResourceLocation helmetTex, ResourceLocation chestTex, ResourceLocation armTex, ResourceLocation legTex,
String helmet, String chest, String leftArm, String rightArm, String leftLeg, String rightLeg, String leftBoot, String rightBoot) {
GL11.glShadeModel(GL11.GL_SMOOTH);
if(armorType == 0) {
GL11.glScaled(0.3125, 0.3125, 0.3125);
GL11.glTranslated(0, 1, 0);
Minecraft.getMinecraft().getTextureManager().bindTexture(helmetTex);
for(String s : helmet.split(",")) model.renderPart(s);
}
if(armorType == 1) {
GL11.glScaled(0.225, 0.225, 0.225);
GL11.glTranslated(0, -10, 0);
Minecraft.getMinecraft().getTextureManager().bindTexture(chestTex);
for(String s : chest.split(",")) model.renderPart(s);
GL11.glTranslated(0, 0, 0.1);
Minecraft.getMinecraft().getTextureManager().bindTexture(armTex);
for(String s : leftArm.split(",")) model.renderPart(s);
for(String s : rightArm.split(",")) model.renderPart(s);
}
if(armorType == 2) {
GL11.glScaled(0.25, 0.25, 0.25);
GL11.glTranslated(0, -20, 0);
Minecraft.getMinecraft().getTextureManager().bindTexture(legTex);
GL11.glDisable(GL11.GL_CULL_FACE);
for(String s : leftLeg.split(",")) model.renderPart(s);
GL11.glTranslated(0, 0, 0.1);
for(String s : rightLeg.split(",")) model.renderPart(s);
GL11.glEnable(GL11.GL_CULL_FACE);
}
if(armorType == 3) {
GL11.glScaled(0.25, 0.25, 0.25);
GL11.glTranslated(0, -22, 0);
Minecraft.getMinecraft().getTextureManager().bindTexture(legTex);
GL11.glDisable(GL11.GL_CULL_FACE);
for(String s : leftBoot.split(",")) model.renderPart(s);
GL11.glTranslated(0, 0, 0.1);
for(String s : rightBoot.split(",")) model.renderPart(s);
GL11.glEnable(GL11.GL_CULL_FACE);
}
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -4,7 +4,10 @@ import org.lwjgl.opengl.GL11;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorHEV;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -15,11 +18,13 @@ import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
public class ArmorHEV extends ArmorFSBPowered {
public class ArmorHEV extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorHEV(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -175,4 +180,17 @@ public class ArmorHEV extends ArmorFSBPowered {
Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons);
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_hev, armorType,
ResourceManager.hev_helmet, ResourceManager.hev_chest, ResourceManager.hev_arm, ResourceManager.hev_leg,
"Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftFoot", "RightFoot");
}};
}
}

View File

@ -1,14 +1,21 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorRPA;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorRPA extends ArmorFSBPowered {
public class ArmorRPA extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorRPA(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -30,4 +37,19 @@ public class ArmorRPA extends ArmorFSBPowered {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
if(armorType == 1) GL11.glTranslated(0, 0.25, 0);
renderStandard(ResourceManager.armor_remnant, armorType,
ResourceManager.rpa_helmet, ResourceManager.rpa_chest, ResourceManager.rpa_arm, ResourceManager.rpa_leg,
"Head", "Body,Fan,Glow", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,14 +1,19 @@
package com.hbm.items.armor;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorT51;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorT51 extends ArmorFSBPowered {
public class ArmorT51 extends ArmorFSBPowered implements IItemRendererProvider {
public ArmorT51(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) {
super(material, slot, texture, maxPower, chargeRate, consumption, drain);
@ -30,4 +35,18 @@ public class ArmorT51 extends ArmorFSBPowered {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() { setupRenderInv(); }
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_t51, armorType,
ResourceManager.t51_helmet, ResourceManager.t51_chest, ResourceManager.t51_arm, ResourceManager.t51_leg,
"Helmet", "Chest", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -1,14 +1,21 @@
package com.hbm.items.armor;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorTaurun;
import com.hbm.render.tileentity.IItemRendererProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ArmorTaurun extends ArmorFSB {
public class ArmorTaurun extends ArmorFSB implements IItemRendererProvider {
public ArmorTaurun(ArmorMaterial material, int slot, String texture) {
super(material, slot, texture);
@ -31,4 +38,22 @@ public class ArmorTaurun extends ArmorFSB {
return models[armorSlot];
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
if(armorType == 0) GL11.glTranslated(0, 1, 0);
if(armorType == 1) GL11.glTranslated(0, 1.5, 0);
setupRenderInv();
}
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_taurun, armorType,
ResourceManager.taurun_helmet, ResourceManager.taurun_chest, ResourceManager.taurun_arm, ResourceManager.taurun_leg,
"Helmet", "Chest", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -2,10 +2,15 @@ package com.hbm.items.armor;
import java.util.List;
import org.lwjgl.opengl.GL11;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.model.ModelArmorTrenchmaster;
import com.hbm.render.tileentity.IItemRendererProvider;
import com.hbm.util.i18n.I18nUtil;
import cpw.mods.fml.relauncher.Side;
@ -13,12 +18,14 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
public class ArmorTrenchmaster extends ArmorFSB {
public class ArmorTrenchmaster extends ArmorFSB implements IItemRendererProvider {
public ArmorTrenchmaster(ArmorMaterial material, int slot, String texture) {
super(material, slot, texture);
@ -102,4 +109,22 @@ public class ArmorTrenchmaster extends ArmorFSB {
}
return false;
}
@Override public Item getItemForRenderer() { return this; }
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
if(armorType == 0) GL11.glTranslated(0, 1, 0);
if(armorType == 1) GL11.glTranslated(0, 1.5, 0);
setupRenderInv();
}
public void renderNonInv() { setupRenderNonInv(); }
public void renderCommon() {
renderStandard(ResourceManager.armor_trenchmaster, armorType,
ResourceManager.trenchmaster_helmet, ResourceManager.trenchmaster_chest, ResourceManager.trenchmaster_arm, ResourceManager.trenchmaster_leg,
"Helmet,Light", "Chest", "LeftArm", "RightArm", "LeftLeg", "RightLeg", "LeftBoot", "RightBoot");
}};
}
}

View File

@ -449,6 +449,18 @@ public class ClientProxy extends ServerProxy {
}
}
}
// same crap but for items directly because why invent a new solution when this shit works just fine
Iterator itItems = Item.itemRegistry.iterator();
while(itItems.hasNext()) {
Object o = itItems.next();
if(o instanceof IItemRendererProvider) {
IItemRendererProvider prov = (IItemRendererProvider) o;
for(Item item : prov.getItemsForRenderer()) {
MinecraftForgeClient.registerItemRenderer(item, prov.getRenderer());
}
}
}
//universal JSON translated items
double[] rtp = new double[] {0, 180, -90};

View File

@ -43,8 +43,8 @@ public class ModelArmorDigamma extends ModelArmorBase {
if(this.type == 1) {
bindTexture(ResourceManager.fau_chest);
this.body.render(scaleFactor);
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
bindTexture(ResourceManager.fau_cassette);
this.cassette.render(scaleFactor);
bindTexture(ResourceManager.fau_arm);

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B