mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
grungus
This commit is contained in:
parent
58166fda33
commit
d8d3263493
@ -38,7 +38,7 @@ public abstract class ItemInventory implements IInventory {
|
||||
}
|
||||
|
||||
public NBTTagCompound checkNBT(NBTTagCompound nbt) {
|
||||
if(!nbt.hasNoTags()) {
|
||||
if(nbt == null || !nbt.hasNoTags()) {
|
||||
Random random = new Random();
|
||||
|
||||
try {
|
||||
|
||||
@ -150,9 +150,24 @@ public class ItemBlockStorageCrate extends ItemBlockBase implements IGUIProvider
|
||||
* solution (?): check equality, then just access the held stack directly. if not, pray the target reference is still accurate and use that.
|
||||
*/
|
||||
if(player.getHeldItem() != null && ItemStack.areItemStacksEqual(player.getHeldItem(), target)) {
|
||||
player.getHeldItem().setTagCompound(checkNBT(nbt));
|
||||
player.getHeldItem().setTagCompound(nbt);
|
||||
this.target = player.getHeldItem(); // just fuckin whatever
|
||||
} else {
|
||||
target.setTagCompound(checkNBT(nbt));
|
||||
target.setTagCompound(nbt);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:block.crateClose", 1.0F, 0.8F);
|
||||
|
||||
/*
|
||||
* realistically, we only need one NBT size check (and we only *want* one because CompressedStreamTools is expensive) so we do that part only when closing
|
||||
*/
|
||||
if(player.getHeldItem() != null && ItemStack.areItemStacksEqual(player.getHeldItem(), target)) {
|
||||
player.getHeldItem().setTagCompound(checkNBT(target.getTagCompound()));
|
||||
} else {
|
||||
target.setTagCompound(checkNBT(target.getTagCompound()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,6 +100,7 @@ public class GunFactory {
|
||||
G10, G10_SHRAPNEL, G10_DU, G10_SLUG,
|
||||
R762_HE, BMG50_HE, G10_EXPLOSIVE,
|
||||
P45_SP, P45_FMJ, P45_JHP, P45_AP, P45_DU,
|
||||
CT_HOOK,
|
||||
|
||||
//ONLY ADD NEW ENTRIES AT THE BOTTOM TO AVOID SHIFTING!
|
||||
;
|
||||
@ -126,6 +127,7 @@ public class GunFactory {
|
||||
TAU_URANIUM,
|
||||
COIL_TUNGSTEN, COIL_FERROURANIUM,
|
||||
NUKE_STANDARD, NUKE_DEMO, NUKE_HIGH, NUKE_TOTS, NUKE_HIVE,
|
||||
CT_HOOK,
|
||||
};
|
||||
|
||||
public Enum[] getOrder() {
|
||||
|
||||
@ -26,12 +26,12 @@ public class XFactoryTool {
|
||||
|
||||
public static void init() {
|
||||
|
||||
ct_hook = new BulletConfig().setItem(EnumAmmo.P9_SP);
|
||||
ct_hook = new BulletConfig().setItem(EnumAmmo.CT_HOOK);
|
||||
|
||||
ModItems.gun_charge_thrower = new ItemGunBaseNT(WeaponQuality.UTILITY, new GunConfig()
|
||||
.dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCUMFLEX)
|
||||
.dura(3_000).draw(20).inspect(31).reloadChangeType(true).hideCrosshair(false).crosshair(Crosshair.L_CIRCUMFLEX)
|
||||
.rec(new Receiver(0)
|
||||
.dmg(5F).delay(4).dry(40).auto(true).spread(0.015F).reload(60).jam(55).sound("hbm:weapon.fire.grenade", 1.0F, 1.0F)
|
||||
.dmg(5F).delay(4).dry(40).auto(true).spread(0F).spreadHipfire(0F).reload(60).jam(55).sound("hbm:weapon.fire.grenade", 1.0F, 1.0F)
|
||||
.mag(new MagazineFullReload(0, 1).addConfigs(ct_hook))
|
||||
.offset(1, -0.0625 * 2.5, -0.25D)
|
||||
.setupStandardFire().recoil(LAMBDA_RECOIL_CT))
|
||||
@ -51,8 +51,6 @@ public class XFactoryTool {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250))
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(15, 0, 0, 50).addPos(15, 0, 0, 550).addPos(0, 0, 0, 100));
|
||||
case CYCLE_DRY: return new BusAnimation()
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(15, 0, 0, 50).addPos(15, 0, 0, 550).addPos(0, 0, 0, 100));
|
||||
case RELOAD: return new BusAnimation()
|
||||
.addBus("OPEN", new BusAnimationSequence().addPos(45, 0, 0, 200, IType.SIN_FULL).addPos(45, 0, 0, 750).addPos(0, 0, 0, 200, IType.SIN_UP))
|
||||
.addBus("SHELL", new BusAnimationSequence().addPos(4, -8, -4, 0).addPos(4, -8, -4, 200).addPos(0, 0, -5, 500, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP))
|
||||
|
||||
@ -3,6 +3,8 @@ package com.hbm.render.item.weapon.sedna;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactoryTool;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
@ -38,33 +40,35 @@ public class ItemRenderChargeThrower extends ItemRenderWeaponBase {
|
||||
@Override
|
||||
public void renderFirstPerson(ItemStack stack) {
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
|
||||
if(this.isScoped(stack) && gun.aimingProgress == 1 && gun.prevAimingProgress == 1) {
|
||||
boolean usingScope = this.isScoped(stack) && gun.aimingProgress == 1 && gun.prevAimingProgress == 1;
|
||||
MagazineFullReload mag = (MagazineFullReload) gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack);
|
||||
|
||||
if(usingScope) {
|
||||
double scale = 3.5D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glTranslated(-0.5, -1.5, -4);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Gun");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Mortar");
|
||||
ResourceManager.charge_thrower.renderPart("Oomph");
|
||||
return;
|
||||
} else {
|
||||
double scale = 0.5D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
}
|
||||
|
||||
double scale = 0.5D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Gun");
|
||||
if(isScoped(stack)) ResourceManager.charge_thrower.renderPart("Scope");
|
||||
if(isScoped(stack) && !usingScope) ResourceManager.charge_thrower.renderPart("Scope");
|
||||
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Hook");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Mortar");
|
||||
ResourceManager.charge_thrower.renderPart("Oomph");
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_rocket_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Rocket");
|
||||
if(mag.getAmount(stack, null) > 0) {
|
||||
|
||||
if(mag.getType(stack, null) == XFactoryTool.ct_hook) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Hook");
|
||||
}
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Mortar");
|
||||
//ResourceManager.charge_thrower.renderPart("Oomph");
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_rocket_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Rocket");
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
@ -103,12 +107,18 @@ public class ItemRenderChargeThrower extends ItemRenderWeaponBase {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Gun");
|
||||
if(isScoped(stack)) ResourceManager.charge_thrower.renderPart("Scope");
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Hook");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Mortar");
|
||||
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_rocket_tex);
|
||||
//ResourceManager.charge_thrower.renderPart("Rocket");
|
||||
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
|
||||
MagazineFullReload mag = (MagazineFullReload) gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack);
|
||||
|
||||
if(mag.getAmount(stack, null) > 0) {
|
||||
|
||||
if(mag.getType(stack, null) == XFactoryTool.ct_hook) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex);
|
||||
ResourceManager.charge_thrower.renderPart("Hook");
|
||||
}
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 191 B |
Binary file not shown.
|
After Width: | Height: | Size: 195 B |
Binary file not shown.
|
After Width: | Height: | Size: 178 B |
Loading…
x
Reference in New Issue
Block a user