mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
sparks!
This commit is contained in:
parent
c0cb28c2ad
commit
afb559d604
@ -15,9 +15,13 @@
|
||||
* PgUp and PgDown scroll by 5 lines (full page)
|
||||
* Pos1 and End keys scroll to the top and bottom of the list respectively
|
||||
* C4, like semtex, is now edible
|
||||
* Assembly machines can now be made with the assembly machine
|
||||
* The recipe is similar to the anvil recipe, but it uses only half as much steel, and one analog circuit instead of four vacuum tubes
|
||||
|
||||
## Fixed
|
||||
* Fixed fusion reactor item IO being broken
|
||||
* Fixed issue with the chemical factory where the declogging feature would be triggered by a recipe processor that doesn't even own the reported slot
|
||||
* Fixed the new PA not triggering the omega-12 achievement
|
||||
* In addition to granting the achievement to nearby players on recipe completion, it is also granted when taking it out of the output slot
|
||||
* In addition to granting the achievement to nearby players on recipe completion, it is also granted when taking it out of the output slot
|
||||
* Fixed the PUREX recipe for processing ZIRNOX MEU fuel not yielding technetium as it should
|
||||
* Fixed turbofans pulling in players even when disabled via redstone
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=5441
|
||||
mod_build_number=5453
|
||||
|
||||
credits=HbMinecraft,\
|
||||
\ rodolphito (explosion algorithms),\
|
||||
|
||||
@ -36,8 +36,8 @@ public class GUIMachineAssemblyFactory extends GuiInfoContainer {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
for(int j = 0; j < 4; j++) {
|
||||
assembler.inputTanks[j].renderTankInfo(this, mouseX, mouseY, guiLeft + 105 + (j % 2) * 109, guiTop + 20 + (j / 2) * 56, 3, 16);
|
||||
assembler.outputTanks[j].renderTankInfo(this, mouseX, mouseY, guiLeft + 105 + (j % 2) * 109, guiTop + 54 + (j / 2) * 56, 3, 16);
|
||||
assembler.inputTanks[j].renderTankInfo(this, mouseX, mouseY, guiLeft + 105 + (j % 2) * 109, guiTop + 20 + (j / 2) * 56, 5, 32);
|
||||
assembler.outputTanks[j].renderTankInfo(this, mouseX, mouseY, guiLeft + 105 + (j % 2) * 109, guiTop + 54 + (j / 2) * 56, 5, 16);
|
||||
}
|
||||
|
||||
assembler.water.renderTankInfo(this, mouseX, mouseY, guiLeft + 232, guiTop + 149, 7, 52);
|
||||
|
||||
@ -216,6 +216,8 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
this.register(new GenericRecipe("ass.shredder").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_shredder, 1))
|
||||
.inputItems(new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2)));
|
||||
this.register(new GenericRecipe("ass.assembler").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_assembly_machine, 1))
|
||||
.inputItems(new OreDictStack(STEEL.ingot(), 4), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG)));
|
||||
this.register(new GenericRecipe("ass.chemplant").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_chemical_plant, 1))
|
||||
.inputItems(new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG)));
|
||||
|
||||
@ -53,9 +53,9 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
|
||||
this.register(new GenericRecipe("purex.zirnoxmeu").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
|
||||
.inputItems(new ComparableStack(ModItems.waste_uranium))
|
||||
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
|
||||
.outputItems(new ItemStack(ModItems.nugget_u238, 1),
|
||||
new ItemStack(ModItems.nugget_pu_mix, 2),
|
||||
new ItemStack(ModItems.nugget_pu239, 1),
|
||||
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 1),
|
||||
new ItemStack(ModItems.nugget_plutonium, 2),
|
||||
new ItemStack(ModItems.nugget_technetium, 1),
|
||||
new ItemStack(ModItems.nuclear_waste_tiny, 2))
|
||||
.setIconToFirstIngredient());
|
||||
|
||||
@ -80,8 +80,7 @@ public class PUREXRecipes extends GenericRecipes<GenericRecipe> {
|
||||
this.register(new GenericRecipe("purex.zirnoxmep").setup(100, zirnoxPower).setNameWrapper("purex.recycle").setGroup(autoZirnox, this)
|
||||
.inputItems(new ComparableStack(ModItems.waste_plutonium))
|
||||
.inputFluids(new FluidStack(Fluids.KEROSENE, 500), new FluidStack(Fluids.NITRIC_ACID, 250))
|
||||
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 1),
|
||||
new ItemStack(ModItems.nugget_pu_mix, 1),
|
||||
.outputItems(new ItemStack(ModItems.nugget_pu_mix, 2),
|
||||
new ItemStack(ModItems.nugget_technetium, 1),
|
||||
new ItemStack(ModItems.nuclear_waste_tiny, 3))
|
||||
.setIconToFirstIngredient());
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (5441)";
|
||||
public static final String VERSION = "1.0.27 BETA (5453)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -580,6 +580,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation assembly_machine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assembly_machine.png");
|
||||
public static final ResourceLocation assemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assemfac.png");
|
||||
public static final ResourceLocation assembly_factory_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assembly_factory.png");
|
||||
public static final ResourceLocation assembly_factory_sparks_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assembly_factory_sparks.png");
|
||||
|
||||
//Chemplant
|
||||
public static final ResourceLocation chemplant_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_base_new.png");
|
||||
|
||||
@ -12,7 +12,9 @@ import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssemblyFactory;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
@ -145,7 +147,7 @@ public class RenderAssemblyFactory extends TileEntitySpecialRenderer implements
|
||||
GL11.glTranslated(0, arm4[3], 0);
|
||||
ResourceManager.assembly_factory.renderPart("Striker4");
|
||||
GL11.glTranslated(0, 1.625, -0.3125);
|
||||
GL11.glRotated(-arm4[4], 1, 0, 0);
|
||||
GL11.glRotated(arm4[4], 1, 0, 0);
|
||||
GL11.glTranslated(0, -1.625, 0.3125);
|
||||
ResourceManager.assembly_factory.renderPart("Blade4");
|
||||
} GL11.glPopMatrix();
|
||||
@ -189,6 +191,67 @@ public class RenderAssemblyFactory extends TileEntitySpecialRenderer implements
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
RenderArcFurnace.fullbright(true);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
bindTexture(ResourceManager.assembly_factory_sparks_tex);
|
||||
|
||||
Tessellator tess = Tessellator.instance;
|
||||
double wide = 0.1875D;
|
||||
double narrow = 0.00D;
|
||||
double length = 1.25D;
|
||||
double uMin = ((tileEntity.getWorldObj().getTotalWorldTime() / 10D + interp)) % 10;
|
||||
double uMax = uMin + 1;
|
||||
double epsilon = 0.01D;
|
||||
|
||||
// renders two layers of sparks, one with regular UV and one with mirrored +0.5 offset
|
||||
// render left and right of the blade with small offset to eliminate z-fighting
|
||||
GL11.glPushMatrix(); if(arm2[3] <= -0.375D) {
|
||||
GL11.glTranslated(0.5 + slide1, 1.0625D, -arm2[2] / 45D); // arm angle/45 is a seemingly good enough approximation
|
||||
tess.startDrawingQuads();
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 0F);
|
||||
tess.addVertexWithUV(-epsilon, -wide, length, uMin + 0.5, 0);
|
||||
tess.addVertexWithUV(-epsilon, wide, length, uMin + 0.5, 1);
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 1F);
|
||||
tess.addVertexWithUV(-epsilon, narrow, 0, uMax + 0.5, 1);
|
||||
tess.addVertexWithUV(-epsilon, -narrow, 0, uMax + 0.5, 0);
|
||||
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 0F);
|
||||
tess.addVertexWithUV(epsilon, -wide, length, uMin, 1);
|
||||
tess.addVertexWithUV(epsilon, wide, length, uMin, 0);
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 1F);
|
||||
tess.addVertexWithUV(epsilon, narrow, 0, uMax, 0);
|
||||
tess.addVertexWithUV(epsilon, -narrow, 0, uMax, 1);
|
||||
tess.draw();
|
||||
} GL11.glPopMatrix();
|
||||
|
||||
GL11.glPushMatrix(); if(arm4[3] <= -0.375D) {
|
||||
GL11.glTranslated(-0.5 - slide2, 1.0625D, arm4[2] / 45D);
|
||||
tess.startDrawingQuads();
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 0F);
|
||||
tess.addVertexWithUV(-epsilon, -wide, -length, uMin + 0.5, 0);
|
||||
tess.addVertexWithUV(-epsilon, wide, -length, uMin + 0.5, 1);
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 1F);
|
||||
tess.addVertexWithUV(-epsilon, narrow, 0, uMax + 0.5, 1);
|
||||
tess.addVertexWithUV(-epsilon, -narrow, 0, uMax + 0.5, 0);
|
||||
|
||||
tess.setNormal(-1, 0, 0);
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 0F);
|
||||
tess.addVertexWithUV(epsilon, -wide, -length, uMin, 1);
|
||||
tess.addVertexWithUV(epsilon, wide, -length, uMin, 0);
|
||||
tess.setColorRGBA_F(1F, 1F, 1F, 1F);
|
||||
tess.addVertexWithUV(epsilon, narrow, 0, uMax, 0);
|
||||
tess.addVertexWithUV(epsilon, -narrow, 0, uMax, 1);
|
||||
tess.draw();
|
||||
} GL11.glPopMatrix();
|
||||
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
RenderArcFurnace.fullbright(false);
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
@ -186,7 +186,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
this.networkPackNT(100);
|
||||
} else {
|
||||
|
||||
if(MainRegistry.proxy.me().getDistance(xCoord , yCoord, zCoord) < 50) {
|
||||
if((didProcess[0] ||didProcess[1] ||didProcess[2] ||didProcess[3]) && MainRegistry.proxy.me().getDistance(xCoord , yCoord, zCoord) < 50) {
|
||||
if(audio == null) {
|
||||
audio = createAudioLoop();
|
||||
audio.startSound();
|
||||
@ -443,7 +443,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
public TragicYuri(int group) {
|
||||
striker = new AssemblerArm( group == 0 ? 0 : 3);
|
||||
saw = new AssemblerArm( group == 0 ? 1 : 2).yepThatsASaw();
|
||||
timeUntilReposition = 200;
|
||||
timeUntilReposition = 140 + rand.nextInt(161);
|
||||
}
|
||||
|
||||
public void update(boolean working) {
|
||||
|
||||
@ -346,7 +346,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem
|
||||
* All movement related stuff has to be repeated on the client, but only for the client's player
|
||||
* Otherwise this could lead to desync since the motion is never sent form the server
|
||||
*/
|
||||
if(tank.getFill() > 0 && !MainRegistry.proxy.me().capabilities.isCreativeMode) {
|
||||
if(wasOn && !MainRegistry.proxy.me().capabilities.isCreativeMode) {
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP);
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"zh_CN": "装配机"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Universal machine for building things with up to twelve item inputs. Important early on and used widely throughout progression. Build in an [[anvil|Anvil]], using plates from a [[press|Press]].",
|
||||
"en_US": "Universal machine for building things with up to twelve item inputs. Important early on and used widely throughout progression. Built in an [[anvil|Anvil]], using plates from a [[press|Press]].",
|
||||
"zh_CN": "用于装配物品的通用机器,最多能够输入十二种物品。前期的重要机器,并且在 整个游戏流程中广泛使用。在[[砧|Anvil]]中使用金属板等合成,需要的金属板可在[[锻压机|Press]]中制造。"
|
||||
}
|
||||
}
|
||||
|
||||
BIN
src/main/resources/assets/hbm/textures/armor/t51_arm.png
Normal file
BIN
src/main/resources/assets/hbm/textures/armor/t51_arm.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 502 B |
BIN
src/main/resources/assets/hbm/textures/armor/t51_chest.png
Normal file
BIN
src/main/resources/assets/hbm/textures/armor/t51_chest.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 820 B |
BIN
src/main/resources/assets/hbm/textures/armor/t51_leg.png
Normal file
BIN
src/main/resources/assets/hbm/textures/armor/t51_leg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 380 B |
Binary file not shown.
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 272 B |
Loading…
x
Reference in New Issue
Block a user