mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
every step we take that's synchronized
This commit is contained in:
parent
4a4606e6ed
commit
c0cb28c2ad
11
changelog
11
changelog
@ -1,9 +1,20 @@
|
||||
## Added
|
||||
* New assembly factory
|
||||
* Once again four recipe units at double the base speed
|
||||
* Upgrades and stats are identical to the chemical factory
|
||||
* Comes with an improved version of the old assemfac animations
|
||||
|
||||
## Changed
|
||||
* Updated chinese localization
|
||||
* Added more QMAW manual pages
|
||||
* WIAJ presentations now use the same configurable keybind as QMAW
|
||||
* Shift has to be held for the presentations, while F1 will open the standard QMAW page
|
||||
* Double UZIs no longer render weirdly when dropped
|
||||
* Added keyboard controls to the recipe selector's scroll function
|
||||
* Up and down keys scroll by one line
|
||||
* 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
|
||||
|
||||
## Fixed
|
||||
* Fixed fusion reactor item IO being broken
|
||||
|
||||
@ -27,6 +27,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIScreenRecipeSelector extends GuiScreen {
|
||||
@ -325,7 +326,16 @@ public class GUIScreenRecipeSelector extends GuiScreen {
|
||||
search(this.search.getText());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(keyCode == Keyboard.KEY_UP) pageIndex--;
|
||||
if(keyCode == Keyboard.KEY_DOWN) pageIndex++;
|
||||
if(keyCode == Keyboard.KEY_PRIOR) pageIndex -= 5;
|
||||
if(keyCode == Keyboard.KEY_NEXT) pageIndex += 5;
|
||||
if(keyCode == Keyboard.KEY_HOME) pageIndex = 0;
|
||||
if(keyCode == Keyboard.KEY_END) pageIndex = size;
|
||||
|
||||
pageIndex = MathHelper.clamp_int(pageIndex, 0, size);
|
||||
|
||||
if(keyCode == 1 || keyCode == this.mc.gameSettings.keyBindInventory.getKeyCode()) {
|
||||
FMLCommonHandler.instance().showGuiScreen(previousScreen);
|
||||
}
|
||||
|
||||
@ -793,29 +793,6 @@ import net.minecraft.item.ItemStack;
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_BOARD)
|
||||
}, 100);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_assemfac, 1), new AStack[] {
|
||||
!exp ? new OreDictStack(STEEL.ingot(), 48) : new OreDictStack(STEEL.heavyComp(), 2),
|
||||
new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
|
||||
new OreDictStack(B.ingot(), 4),
|
||||
new OreDictStack(RUBBER.ingot(), 16),
|
||||
new OreDictStack(KEY_ANYPANE, 64),
|
||||
new ComparableStack(ModItems.motor, 18),
|
||||
new OreDictStack(W.bolt(), 16),
|
||||
new OreDictStack(STEEL.pipe(), 8),
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC)
|
||||
}, 400);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_chemical_factory, 1), new AStack[] {
|
||||
new OreDictStack(DURA.ingot(), 16),
|
||||
new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
|
||||
new OreDictStack(RUBBER.ingot(), 16),
|
||||
new OreDictStack(STEEL.shell(), 12),
|
||||
new OreDictStack(CU.pipe(), 8),
|
||||
new ComparableStack(ModItems.motor_desh, 4),
|
||||
new ComparableStack(ModItems.coil_tungsten, 16),
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC)
|
||||
}, 400);
|
||||
|
||||
makeRecipe(new ComparableStack(ModItems.missile_shuttle, 1), new AStack[] {
|
||||
new ComparableStack(ModItems.missile_generic, 2),
|
||||
new ComparableStack(ModItems.missile_strong, 1),
|
||||
|
||||
@ -338,6 +338,9 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
this.register(new GenericRecipe("ass.strandcaster").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_strand_caster, 1))
|
||||
.inputItems(new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(STEEL.plateCast(), 6), new OreDictStack(CU.plateWelded(), 2), new OreDictStack(STEEL.shell(), 2), new OreDictStack(ANY_CONCRETE.any(), 8))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_CONCRETE.any(), 8)));
|
||||
this.register(new GenericRecipe("ass.assemfac").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_assembly_factory, 1))
|
||||
.inputItems(new OreDictStack(DURA.ingot(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(B.ingot(), 8), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.motor, 12), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(B.ingot(), 8), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.motor, 24), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.CIRCUIT)));
|
||||
this.register(new GenericRecipe("ass.chemfac").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_chemical_factory, 1))
|
||||
.inputItems(new OreDictStack(DURA.ingot(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(STEEL.shell(), 12), new OreDictStack(CU.pipe(), 8), new ComparableStack(ModItems.motor_desh, 4), new ComparableStack(ModItems.coil_tungsten, 16), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(STEEL.shell(), 12), new OreDictStack(CU.pipe(), 16), new ComparableStack(ModItems.motor_desh, 16), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.CIRCUIT)));
|
||||
|
||||
@ -2316,7 +2316,7 @@ public class ModItems {
|
||||
lithium = new Item().setUnlocalizedName("lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lithium");
|
||||
ingot_zirconium = new Item().setUnlocalizedName("ingot_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_zirconium");
|
||||
ingot_semtex = new ItemLemon(4, 5, true).setUnlocalizedName("ingot_semtex").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_semtex");
|
||||
ingot_c4 = new Item().setUnlocalizedName("ingot_c4").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_c4");
|
||||
ingot_c4 = new ItemLemon(4, 5, true).setUnlocalizedName("ingot_c4").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_c4");
|
||||
ingot_phosphorus = new Item().setUnlocalizedName("ingot_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_phosphorus");
|
||||
coil_advanced_alloy = new Item().setUnlocalizedName("coil_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_alloy");
|
||||
coil_advanced_torus = new Item().setUnlocalizedName("coil_advanced_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_torus");
|
||||
|
||||
@ -71,7 +71,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
super(60);
|
||||
|
||||
animations = new TragicYuri[2];
|
||||
for(int i = 0; i < animations.length; i++) animations[i] = new TragicYuri();
|
||||
for(int i = 0; i < animations.length; i++) animations[i] = new TragicYuri(i);
|
||||
|
||||
this.inputTanks = new FluidTank[4];
|
||||
this.outputTanks = new FluidTank[4];
|
||||
@ -171,7 +171,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
boolean markDirty = false;
|
||||
|
||||
for(int i = 0; i < 4; i++) {
|
||||
this.assemblerModule[i].update(speed * 2D, pow * 2D, canCool(), slots[4 + i * 7]);
|
||||
this.assemblerModule[i].update(speed * 2D, pow * 2D, canCool(), slots[4 + i * 14]);
|
||||
this.didProcess[i] = this.assemblerModule[i].didProcess;
|
||||
markDirty |= this.assemblerModule[i].markDirty;
|
||||
|
||||
@ -204,7 +204,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
}
|
||||
}
|
||||
|
||||
for(TragicYuri animation : animations) animation.update(true || didProcess[0] ||didProcess[1] ||didProcess[2] ||didProcess[3]);
|
||||
for(TragicYuri animation : animations) animation.update(didProcess[0] ||didProcess[1] ||didProcess[2] ||didProcess[3]);
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord);
|
||||
@ -246,17 +246,6 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
new DirPos(xCoord + 0, yCoord, zCoord - 3, Library.NEG_Z),
|
||||
new DirPos(xCoord + 2, yCoord, zCoord - 3, Library.NEG_Z),
|
||||
|
||||
new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 2 + rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 1 + rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord + dir.offsetX * 0 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 0 + rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord - dir.offsetX * 1 + rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 1 + rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 2 + rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 2 - rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord + dir.offsetX * 1 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 1 - rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord + dir.offsetX * 0 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 0 - rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord - dir.offsetX * 1 - rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 1 - rot.offsetZ * 2, Library.POS_Y),
|
||||
new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 2 - rot.offsetZ * 2, Library.POS_Y),
|
||||
|
||||
new DirPos(xCoord + dir.offsetX + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ + rot.offsetZ * 3, rot),
|
||||
new DirPos(xCoord - dir.offsetX + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ + rot.offsetZ * 3, rot),
|
||||
new DirPos(xCoord + dir.offsetX - rot.offsetX * 3, yCoord, zCoord + dir.offsetZ - rot.offsetZ * 3, rot.getOpposite()),
|
||||
@ -451,16 +440,17 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
boolean direction = false;
|
||||
int timeUntilReposition;
|
||||
|
||||
public TragicYuri() {
|
||||
striker = new AssemblerArm();
|
||||
saw = new AssemblerArm().yepThatsASaw();
|
||||
public TragicYuri(int group) {
|
||||
striker = new AssemblerArm( group == 0 ? 0 : 3);
|
||||
saw = new AssemblerArm( group == 0 ? 1 : 2).yepThatsASaw();
|
||||
timeUntilReposition = 200;
|
||||
}
|
||||
|
||||
public void update(boolean working) {
|
||||
this.prevSlider = this.slider;
|
||||
|
||||
if(working) switch(state) {
|
||||
// one of the arms must do something. doesn't matter which or what position the carriage is in
|
||||
if(didProcess[striker.recipeIndex] || didProcess[saw.recipeIndex]) switch(state) {
|
||||
case WORKING: {
|
||||
timeUntilReposition--;
|
||||
if(timeUntilReposition <= 0) {
|
||||
@ -475,7 +465,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
}
|
||||
} break;
|
||||
case SLIDING: {
|
||||
double sliderSpeed = 1D / 20D; // 20 ticks for transit
|
||||
double sliderSpeed = 1D / 10D; // 10 ticks for transit
|
||||
if(direction) {
|
||||
slider += sliderSpeed;
|
||||
if(slider >= 1) {
|
||||
@ -493,8 +483,8 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
} break;
|
||||
}
|
||||
|
||||
striker.updateArm(working);
|
||||
saw.updateArm(working);
|
||||
striker.updateArm();
|
||||
saw.updateArm();
|
||||
}
|
||||
|
||||
public double getSlider(float interp) {
|
||||
@ -510,12 +500,14 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
public double[] speed = new double[4];
|
||||
public double sawAngle;
|
||||
public double prevSawAngle;
|
||||
public int recipeIndex; // the index of which pedestal is serviced, assuming the carriage is at default position
|
||||
|
||||
ArmState state = ArmState.REPOSITION;
|
||||
int actionDelay = 0;
|
||||
boolean saw = false;
|
||||
|
||||
public AssemblerArm() {
|
||||
public AssemblerArm(int index) {
|
||||
this.recipeIndex = index;
|
||||
this.resetSpeed();
|
||||
this.chooseNewArmPoistion();
|
||||
}
|
||||
@ -529,7 +521,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
speed[3] = saw ? 0.125 : 0.5; //Striker
|
||||
}
|
||||
|
||||
public void updateArm(boolean working) {
|
||||
public void updateArm() {
|
||||
resetSpeed();
|
||||
|
||||
for(int i = 0; i < angles.length; i++) {
|
||||
@ -538,7 +530,9 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl
|
||||
|
||||
prevSawAngle = sawAngle;
|
||||
|
||||
if(!working) return;
|
||||
int serviceIndex = recipeIndex;
|
||||
if(slider > 0.5) serviceIndex += (serviceIndex % 2 == 0 ? 1 : -1); // if the carriage has moved, swap the indices so they match up with the serviced pedestal
|
||||
if(!didProcess[serviceIndex]) state = ArmState.RETIRE;
|
||||
|
||||
if(state == ArmState.CUT || state == ArmState.EXTEND) {
|
||||
this.sawAngle += 45D;
|
||||
|
||||
@ -379,6 +379,7 @@ container.leadBox=Sicherheitsbehälter
|
||||
container.machineAmmoPress=Munitionspresse
|
||||
container.machineArcWelder=Lichtbogenschweißer
|
||||
container.machineArcFurnaceLarge=Lichtbogenofen
|
||||
container.machineAssemblyFactory=Montagefabrik
|
||||
container.machineAssemblyMachine=Montagemaschine
|
||||
container.machineBoiler=Ölwärmer
|
||||
container.machineChemicalFactory=Chemiefabrik
|
||||
@ -4382,7 +4383,8 @@ tile.machine_armor_table.name=Rüstungsmodifikationstisch
|
||||
tile.machine_ashpit.name=Aschekasten
|
||||
tile.machine_ashpit.desc=Sammelt Asche von Feuerbüchsen und Heizöfen
|
||||
tile.machine_assembler.name=Fertigungsmaschine (Legacy)
|
||||
tile.machine_assemfac.name=Fertigungsfabrik
|
||||
tile.machine_assemfac.name=Fertigungsfabrik (Legacy)
|
||||
tile.machine_assembly_factory.name=Fertigungsfabrik
|
||||
tile.machine_assembly_machine.name=Montagemaschine
|
||||
tile.machine_autocrafter.name=Automatische Werkbank
|
||||
tile.machine_autosaw.name=Automatische Kreissäge
|
||||
|
||||
@ -785,6 +785,7 @@ container.leadBox=Containment Box
|
||||
container.machineAmmoPress=Ammo Press
|
||||
container.machineArcWelder=Arc Welder
|
||||
container.machineArcFurnaceLarge=Arc Furnace
|
||||
container.machineAssemblyFactory=Assembly Factory
|
||||
container.machineAssemblyMachine=Assembly Machine
|
||||
container.machineBoiler=Oil Heater
|
||||
container.machineChemicalFactory=Chemical Factory
|
||||
@ -5642,7 +5643,9 @@ tile.machine_armor_table.name=Armor Modification Table
|
||||
tile.machine_ashpit.name=Ashpit
|
||||
tile.machine_ashpit.desc=Collects ashes from fireboxes and heating ovens
|
||||
tile.machine_assembler.name=Assembly Machine (Legacy)
|
||||
tile.machine_assemfac.name=Assembly Factory
|
||||
tile.machine_assemfac.name=Assembly Factory (Legacy)
|
||||
tile.machine_assembly_factory.name=Assembly Factory
|
||||
tile.machine_assembly_factory.desc=Quadruple assembly machine.$Recipes process twice as fast,$but need twice as much power.$Needs to be cooled with water,$produces low-pressure steam.
|
||||
tile.machine_assembly_machine.name=Assembly Machine
|
||||
tile.machine_autocrafter.name=Automatic Crafting Table
|
||||
tile.machine_autosaw.name=Automatic Buzz Saw
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user