spingus
@ -30,4 +30,5 @@
|
||||
* Undid the change to the crucible where using no recipe would fill up the recipe stack anyway because people would NOT STOP smelting stuff then setting the recipe after the fact which DOES NOT WORK.
|
||||
* This change however introduced yet another inconsistency with external pouring behavior that I simply cannot be assed to fix, so we are just rolling all that back
|
||||
* If you're still to dumb, old or irradiated to use the crucible correctly, please bother LITERALLY ANOYNE EXCEPT ME.
|
||||
* This basically fixes the aforementioned inconsistency
|
||||
* This basically fixes the aforementioned inconsistency
|
||||
* Fixed meteorite sword progression having some issues ever since the fusion reactor rework
|
||||
@ -64,8 +64,8 @@ public class ItemGrenadeFilling extends ItemEnumMulti {
|
||||
EMP(EXPLODE_EMP, 0x93A1AC, 0x00FFFF, TECH), // tesla
|
||||
PLASMA(EXPLODE_PLASMA, 0x655B2C, 0x4CFF00, TECH), // EMP but more oomph
|
||||
LASER(EXPLODE_LASER, 0x493A3A, 0xFF0000, TECH), // pew pew pew
|
||||
NUCLEAR(EXPLODE_NUKE, 0, 0xA49D62, NUKE), // nuka grenade
|
||||
NUCLEAR_DEMO(EXPLODE_NUKE_DEMO, 0, 0xDD4029, NUKE); // demolition nuka grenade
|
||||
NUCLEAR(EXPLODE_NUKE, 0xDFD7A8, 0xA49D62, NUKE), // nuka grenade
|
||||
NUCLEAR_DEMO(EXPLODE_NUKE_DEMO, 0xDFD7A8, 0xDD4029, NUKE); // demolition nuka grenade
|
||||
|
||||
public Consumer<EntityGrenadeUniversal> explode;
|
||||
public Set<EnumGrenadeShell> compatibleShells = new HashSet();
|
||||
|
||||
@ -200,9 +200,9 @@ public class ItemGrenadeUniversal extends Item implements IEquipReceiver, IAnima
|
||||
return new BusAnimation()
|
||||
.addBus("BODYMOVE", new BusAnimationSequence().setPos(0, -7, 0).addPos(0, 3, 0, 750, IType.SIN_DOWN).holdUntil(1900).addPos(0, 0, 0, 250, IType.SIN_FULL))
|
||||
.addBus("BODYTURN", new BusAnimationSequence().setPos(0, 0, 90).addPos(0, 0, -45, 750, IType.SIN_DOWN).holdUntil(1900).addPos(0, 0, 0, 250, IType.SIN_FULL))
|
||||
.addBus("CAPMOVE", new BusAnimationSequence().hold(800).addPos(0, -0.25, 0, 200, IType.SIN_FULL).hold(250).addPos(0, -0.5, 0, 200, IType.SIN_FULL).addPos(2, -5, 0, 350, IType.SIN_UP))
|
||||
.addBus("CAPTURN", new BusAnimationSequence().hold(800).addPos(0, 360, 0, 200, IType.SIN_FULL).hold(250).addPos(0, 360 * 2, 0, 200, IType.SIN_FULL))
|
||||
.addBus("RENDERCAP", new BusAnimationSequence().setPos(1, 1, 1).hold(2100).setPos(0, 0, 0));
|
||||
.addBus("RINGMOVE", new BusAnimationSequence().hold(800).addPos(0, -0.25, 0, 200, IType.SIN_FULL).hold(250).addPos(0, -0.5, 0, 200, IType.SIN_FULL).addPos(2, -5, 0, 350, IType.SIN_UP))
|
||||
.addBus("RINGTURN", new BusAnimationSequence().hold(800).addPos(0, 360, 0, 200, IType.SIN_FULL).hold(250).addPos(0, 360 * 2, 0, 200, IType.SIN_FULL))
|
||||
.addBus("RENDERRING", new BusAnimationSequence().setPos(1, 1, 1).hold(2100).setPos(0, 0, 0));
|
||||
}
|
||||
|
||||
if(shell == EnumGrenadeShell.TECH) {
|
||||
|
||||
@ -1117,6 +1117,9 @@ public class ResourceManager {
|
||||
public static final ResourceLocation grenade_tech_lights_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/tech_lights.png");
|
||||
public static final ResourceLocation grenade_tech_fuze_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/tech_fuze.png");
|
||||
public static final ResourceLocation grenade_nuka_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/nuka.png");
|
||||
public static final ResourceLocation grenade_nuka_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/nuka_body.png");
|
||||
public static final ResourceLocation grenade_nuka_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/nuka_label.png");
|
||||
public static final ResourceLocation grenade_nuka_fuze_tex = new ResourceLocation(RefStrings.MODID, "textures/models/grenades/nuka_fuze.png");
|
||||
|
||||
public static final ResourceLocation bj_eyepatch = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_eyepatch.png");
|
||||
public static final ResourceLocation bj_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_leg.png");
|
||||
|
||||
@ -79,13 +79,14 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
GL11.glTranslated(3, 1, -3);
|
||||
GL11.glRotated(180, 0, -1, 0);
|
||||
|
||||
double[] bodyMove = HbmAnimations.getRelevantTransformation("BODYMOVE");
|
||||
double[] bodyTurn = HbmAnimations.getRelevantTransformation("BODYTURN");
|
||||
double[] ringMove = HbmAnimations.getRelevantTransformation("RINGMOVE");
|
||||
double[] ringTurn = HbmAnimations.getRelevantTransformation("RINGTURN");
|
||||
double[] renderRing = HbmAnimations.getRelevantTransformation("RENDERRING");
|
||||
GL11.glTranslated(bodyMove[0], bodyMove[1], bodyMove[2]);
|
||||
|
||||
if(shell == EnumGrenadeShell.FRAG) {
|
||||
double[] bodyMove = HbmAnimations.getRelevantTransformation("BODYMOVE");
|
||||
double[] bodyTurn = HbmAnimations.getRelevantTransformation("BODYTURN");
|
||||
double[] ringMove = HbmAnimations.getRelevantTransformation("RINGMOVE");
|
||||
double[] ringTurn = HbmAnimations.getRelevantTransformation("RINGTURN");
|
||||
double[] renderRing = HbmAnimations.getRelevantTransformation("RENDERRING");
|
||||
GL11.glTranslated(bodyMove[0], bodyMove[1], bodyMove[2]);
|
||||
GL11.glRotated(bodyTurn[2], 1, 0, 0);
|
||||
renderFragBody(stack);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_frag_tex);
|
||||
@ -98,23 +99,17 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(shell == EnumGrenadeShell.STICK) {
|
||||
double[] bodyMove = HbmAnimations.getRelevantTransformation("BODYMOVE");
|
||||
double[] bodyTurn = HbmAnimations.getRelevantTransformation("BODYTURN");
|
||||
double[] capMove = HbmAnimations.getRelevantTransformation("CAPMOVE");
|
||||
double[] capTurn = HbmAnimations.getRelevantTransformation("CAPTURN");
|
||||
double[] renderCap = HbmAnimations.getRelevantTransformation("RENDERCAP");
|
||||
GL11.glTranslated(bodyMove[0], bodyMove[1], bodyMove[2]);
|
||||
GL11.glRotated(bodyTurn[2], 0, 0, 1);
|
||||
renderStickBody(stack);
|
||||
if(renderCap[0] != 0) {
|
||||
GL11.glTranslated(capMove[0], capMove[1], capMove[2]);
|
||||
GL11.glRotated(capTurn[1], 0, 1, 0);
|
||||
if(renderRing[0] != 0) {
|
||||
GL11.glTranslated(ringMove[0], ringMove[1], ringMove[2]);
|
||||
GL11.glRotated(ringTurn[1], 0, 1, 0);
|
||||
EnumGrenadeFilling filling = ItemGrenadeUniversal.getFilling(stack);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
bind(ResourceManager.grenade_stick_tex);
|
||||
ResourceManager.grenades.renderPart("StickCap");
|
||||
GL11.glColor3f(ColorUtil.fr(filling.bodyColor), ColorUtil.fg(filling.bodyColor), ColorUtil.fb(filling.bodyColor));
|
||||
setColor(filling.bodyColor);
|
||||
bind(ResourceManager.grenade_stick_body_tex);
|
||||
ResourceManager.grenades.renderPart("StickCap");
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
@ -123,12 +118,6 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(shell == EnumGrenadeShell.TECH) {
|
||||
double[] bodyMove = HbmAnimations.getRelevantTransformation("BODYMOVE");
|
||||
double[] bodyTurn = HbmAnimations.getRelevantTransformation("BODYTURN");
|
||||
double[] ringMove = HbmAnimations.getRelevantTransformation("RINGMOVE");
|
||||
double[] ringTurn = HbmAnimations.getRelevantTransformation("RINGTURN");
|
||||
double[] renderRing = HbmAnimations.getRelevantTransformation("RENDERRING");
|
||||
GL11.glTranslated(bodyMove[0], bodyMove[1], bodyMove[2]);
|
||||
GL11.glRotated(bodyTurn[2], 1, 0, 0);
|
||||
renderTechBody(stack);
|
||||
if(renderRing[0] != 0) {
|
||||
@ -140,10 +129,15 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(shell == EnumGrenadeShell.NUKE) {
|
||||
//GL11.glRotated(bodyTurn[2], 1, 0, 0);
|
||||
renderNukeBody(stack);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_nuka_tex);
|
||||
ResourceManager.grenades.renderPart("Nuka");
|
||||
ResourceManager.grenades.renderPart("NukaSpoon");
|
||||
ResourceManager.grenades.renderPart("NukaRing");
|
||||
if(renderRing[0] != 0) {
|
||||
GL11.glTranslated(ringMove[0], ringMove[1], ringMove[2]);
|
||||
//GL11.glRotated(ringTurn[2], 1, 0, 0);
|
||||
ResourceManager.grenades.renderPart("NukaRing");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,7 +196,7 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
}
|
||||
renderTechBody(stack);
|
||||
if(renderType != null) {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_tech_tex);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_tech_tex);
|
||||
ResourceManager.grenades.renderPart("TechRing");
|
||||
}
|
||||
}
|
||||
@ -220,9 +214,9 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
GL11.glScaled(1.5, 1.5, 1.5);
|
||||
GL11.glTranslated(0, -3, 0);
|
||||
}
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_nuka_tex);
|
||||
ResourceManager.grenades.renderPart("Nuka");
|
||||
renderNukeBody(stack);
|
||||
if(renderType != null) {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_nuka_tex);
|
||||
ResourceManager.grenades.renderPart("NukaSpoon");
|
||||
ResourceManager.grenades.renderPart("NukaRing");
|
||||
}
|
||||
@ -230,57 +224,11 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
}
|
||||
|
||||
public static void renderFragBody(ItemStack stack) {
|
||||
|
||||
EnumGrenadeFilling filling = ItemGrenadeUniversal.getFilling(stack);
|
||||
EnumGrenadeFuze fuze = ItemGrenadeUniversal.getFuze(stack);
|
||||
|
||||
bind(ResourceManager.grenade_frag_tex);
|
||||
ResourceManager.grenades.renderPart("Frag");
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(filling.bodyColor), ColorUtil.fg(filling.bodyColor), ColorUtil.fb(filling.bodyColor));
|
||||
bind(ResourceManager.grenade_frag_body_tex);
|
||||
ResourceManager.grenades.renderPart("Frag");
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(filling.labelColor), ColorUtil.fg(filling.labelColor), ColorUtil.fb(filling.labelColor));
|
||||
bind(ResourceManager.grenade_frag_label_tex);
|
||||
ResourceManager.grenades.renderPart("Frag");
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(fuze.bandColor), ColorUtil.fg(fuze.bandColor), ColorUtil.fb(fuze.bandColor));
|
||||
bind(ResourceManager.grenade_frag_fuze_tex);
|
||||
ResourceManager.grenades.renderPart("Frag");
|
||||
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
renderBodyStandard(stack, "Frag", ResourceManager.grenade_frag_tex, ResourceManager.grenade_frag_body_tex, ResourceManager.grenade_frag_label_tex, ResourceManager.grenade_frag_fuze_tex);
|
||||
}
|
||||
|
||||
public static void renderStickBody(ItemStack stack) {
|
||||
|
||||
EnumGrenadeFilling filling = ItemGrenadeUniversal.getFilling(stack);
|
||||
EnumGrenadeFuze fuze = ItemGrenadeUniversal.getFuze(stack);
|
||||
|
||||
bind(ResourceManager.grenade_stick_tex);
|
||||
ResourceManager.grenades.renderPart("Stick");
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(filling.bodyColor), ColorUtil.fg(filling.bodyColor), ColorUtil.fb(filling.bodyColor));
|
||||
bind(ResourceManager.grenade_stick_body_tex);
|
||||
ResourceManager.grenades.renderPart("Stick");
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(filling.labelColor), ColorUtil.fg(filling.labelColor), ColorUtil.fb(filling.labelColor));
|
||||
bind(ResourceManager.grenade_stick_label_tex);
|
||||
ResourceManager.grenades.renderPart("Stick");
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(fuze.bandColor), ColorUtil.fg(fuze.bandColor), ColorUtil.fb(fuze.bandColor));
|
||||
bind(ResourceManager.grenade_stick_fuze_tex);
|
||||
ResourceManager.grenades.renderPart("Stick");
|
||||
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
renderBodyStandard(stack, "Stick", ResourceManager.grenade_stick_tex, ResourceManager.grenade_stick_body_tex, ResourceManager.grenade_stick_label_tex, ResourceManager.grenade_stick_fuze_tex);
|
||||
}
|
||||
|
||||
public static void renderTechBody(ItemStack stack) {
|
||||
@ -288,31 +236,59 @@ public class ItemRenderGrenade implements IItemRenderer {
|
||||
EnumGrenadeFilling filling = ItemGrenadeUniversal.getFilling(stack);
|
||||
EnumGrenadeFuze fuze = ItemGrenadeUniversal.getFuze(stack);
|
||||
|
||||
bind(ResourceManager.grenade_tech_tex);
|
||||
ResourceManager.grenades.renderPart("Tech");
|
||||
renderWithTexture(ResourceManager.grenade_tech_tex, "Tech");
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(filling.bodyColor), ColorUtil.fg(filling.bodyColor), ColorUtil.fb(filling.bodyColor));
|
||||
bind(ResourceManager.grenade_tech_body_tex);
|
||||
ResourceManager.grenades.renderPart("Tech");
|
||||
|
||||
GL11.glColor3f(ColorUtil.fr(fuze.bandColor), ColorUtil.fg(fuze.bandColor), ColorUtil.fb(fuze.bandColor));
|
||||
bind(ResourceManager.grenade_tech_fuze_tex);
|
||||
ResourceManager.grenades.renderPart("Tech");
|
||||
|
||||
setColor(filling.bodyColor);
|
||||
renderWithTexture(ResourceManager.grenade_tech_body_tex, "Tech");
|
||||
setColor(fuze.bandColor);
|
||||
renderWithTexture(ResourceManager.grenade_tech_fuze_tex, "Tech");
|
||||
RenderArcFurnace.fullbright(true);
|
||||
GL11.glColor3f(ColorUtil.fr(filling.labelColor), ColorUtil.fg(filling.labelColor), ColorUtil.fb(filling.labelColor));
|
||||
bind(ResourceManager.grenade_tech_lights_tex);
|
||||
ResourceManager.grenades.renderPart("Tech");
|
||||
setColor(filling.labelColor);
|
||||
renderWithTexture(ResourceManager.grenade_tech_lights_tex, "Tech");
|
||||
RenderArcFurnace.fullbright(false);
|
||||
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
}
|
||||
|
||||
public static void renderNukeBody(ItemStack stack) {
|
||||
renderBodyStandard(stack, "Nuka", ResourceManager.grenade_nuka_tex, ResourceManager.grenade_nuka_body_tex, ResourceManager.grenade_nuka_label_tex, ResourceManager.grenade_nuka_fuze_tex);
|
||||
}
|
||||
|
||||
public static void renderBodyStandard(ItemStack stack, String part, ResourceLocation baseTex, ResourceLocation bodyTex, ResourceLocation labelTex, ResourceLocation fuzeTex) {
|
||||
|
||||
EnumGrenadeFilling filling = ItemGrenadeUniversal.getFilling(stack);
|
||||
EnumGrenadeFuze fuze = ItemGrenadeUniversal.getFuze(stack);
|
||||
|
||||
renderWithTexture(baseTex, part);
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
|
||||
setColor(filling.bodyColor);
|
||||
renderWithTexture(bodyTex, part);
|
||||
setColor(filling.labelColor);
|
||||
renderWithTexture(labelTex, part);
|
||||
setColor(fuze.bandColor);
|
||||
renderWithTexture(fuzeTex, part);
|
||||
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
}
|
||||
|
||||
public static void setColor(int hex) {
|
||||
GL11.glColor3f(ColorUtil.fr(hex), ColorUtil.fg(hex), ColorUtil.fb(hex));
|
||||
}
|
||||
|
||||
public static void bind(ResourceLocation res) {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(res);
|
||||
}
|
||||
|
||||
public static void renderWithTexture(ResourceLocation res, String part) {
|
||||
bind(res);
|
||||
ResourceManager.grenades.renderPart(part);
|
||||
}
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ public class TileEntityFusionBreeder extends TileEntityMachineBase implements IF
|
||||
public boolean canProcessSolid() {
|
||||
if(slots[1] == null) return false;
|
||||
|
||||
if(slots[1].getItem() == ModItems.meteorite_sword_bred && slots[2] == null) return true;
|
||||
if(slots[1].getItem() == ModItems.meteorite_sword_irradiated && slots[2] == null) return true;
|
||||
|
||||
OutgasserRecipe output = OutgasserRecipes.getOutput(slots[1]);
|
||||
if(output == null) return false;
|
||||
@ -142,7 +142,7 @@ public class TileEntityFusionBreeder extends TileEntityMachineBase implements IF
|
||||
|
||||
private void processSolid() {
|
||||
|
||||
if(slots[1].getItem() == ModItems.meteorite_sword_bred) {
|
||||
if(slots[1].getItem() == ModItems.meteorite_sword_irradiated) {
|
||||
this.decrStackSize(1, 1);
|
||||
slots[2] = new ItemStack(ModItems.meteorite_sword_fused);
|
||||
this.progress = 0;
|
||||
|
||||
|
After Width: | Height: | Size: 385 B |
|
After Width: | Height: | Size: 368 B |
|
After Width: | Height: | Size: 380 B |
|
After Width: | Height: | Size: 375 B |
|
After Width: | Height: | Size: 309 B |
|
After Width: | Height: | Size: 307 B |
|
After Width: | Height: | Size: 417 B |
|
After Width: | Height: | Size: 311 B |
|
Before Width: | Height: | Size: 968 B After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 881 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 329 B |