aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/preload
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-08-03 23:21:44 +0200
committerGitHub <noreply@github.com>2024-08-03 23:21:44 +0200
commitb65ace37de4f585b8089ad413ee877b792da11ca (patch)
tree2e0445785c5008df15151f729da148fb70dbc21d /src/main/java/gregtech/loaders/preload
parente180e49fc6305f71b1f1b18141b946f794a7012b (diff)
downloadGT5-Unofficial-b65ace37de4f585b8089ad413ee877b792da11ca.tar.gz
GT5-Unofficial-b65ace37de4f585b8089ad413ee877b792da11ca.tar.bz2
GT5-Unofficial-b65ace37de4f585b8089ad413ee877b792da11ca.zip
Waterline rework (#2577)
* Add barebones PurificationPlant class * Make simple 3x3 structure to form purification plant * Add base purification unit class and dummy sifter unit MTE * Make sifter unit form * Fix accidental wildcard import * Implement basic linking of units to controller using data stick * Make linking more robust, save bidirectional links, add scanner output * add linking range, error message and unregister old controller when re-linking * Add link status of purification units to waila body * Disable maintenance issues on purification plant units * spotless * Check structure of linked purification units in main controller * Remove all star imports * Small refactor to avoid updating status from main controller * spotless * Attempt to document current code * Convert some comments to javadoc * Implement basic processing cycle, sync it with linked purification units * Make water purification plant drain power * Calculate power drain from active units and remove controller power drain * spotless * Add very barebones recipemap * Fix recipemap name in lang file * spotless * Fix purification unit recipemap name * spotless * more sane amount of max fluid outputs * add some item outputs to sifter unit * Very simple recipe processing, may be buggy * spotless * Implement recipe failure * Implement void protection for purification units * spotless * buff item output odds slightly * Add WIP grade 1 structure * spotless * Store base success chance in recipe metadata and display it in NEI * Fill sifter plant with water * Add comment * Allow construction sifter unit in survival * Implement water boost * Fix water boost allowing output chance to go over 100% * Implement failed recipes outputting lower tier water * Fix typo * Fix deformed purification unit still drawing power * Slightly refactor recipe check so base class can read result * Create empty ModularUI container for purification plant * The great gui struggle part 1 * More gui struggles, we have a button now * Adjust button text and size * gui wars: the rise of the sync * gui wars: a new hope * fix the sync * is pengu old enough to know exceeder? * Fix being able to link the same unit multiple times * Sync status string to client * Sign sifter with my name * Show status somewhat properly * Adjust sifter base chance and structure * Fully implement sifter unit * More tooltip refactoring * Add structure info to sifter tooltip. * nitpicking tooltips * Adding sound to Purification Plant Main Unit. * fix star imports * Add basic coagulator unit, add recipemap for it * Write coagulator tooltip * comma nitpicking * more tooltip work * small refactor to purification plant controller * start work on custom recipemap frontend * Fully implement coagulator * Update structure requirements in tooltips * Move controller text in structure tooltips to be consistent * fix NPE on world load * Add base ph adjustment unit MTE * Add info to main controller and energy hatch check * Fixing tooltip of Main Controller & Energy/Exotic Hatch check. * Create full pH adjustment structure * disallow any voiding on purification unit * Small custom RecipeMap frontend for ph adjustment * Generate random initial pH value * Implement inserting NaOH and HCl to adjust pH * Add easter egg * Implement pH sensor hatch * Properly consume HCl and round pH value to 2 digits * Write ph adjustment unit tooltip * Tooltip nitpicking * Try to fix some structurelib hints * More trying to fix hints * Add industrial strength concrete casing block * Add water loop sound to the game * Document random initial pH in tooltip * Add glass material base * Fix spotless formatting in Textures docs because I cannot take it anymore * Add glass texture * Try adding transparent glass * Transparent glass working * Create pH resistant glass and update pH structure to use it * Create full structure for main purification plant * Create custom water purification casing block * Properly balance ferrous wastewater reprocessing and reduce input by a factor 10 * Add pH factor to NEI tooltip and fix coagulator structure * Structure tooltip for Purification Plant base * Add GT_Block_Glass2 and properly set maxMeta * Add Tinted Industrial Glass blocks * Fix BlockCasing9 not showing custom tooltip * Register tinted glass as EV glass * Add sterile water plant casing and revert tooltip change * Mention required water in sifter tooltip * Add more textures and casings * Add more textures, sounds and add structure info for pH adjustment * Rename sifter unit to clarifier * Rename coagulation unit to flocculation unit * Add activated carbon line * Fix unintended activated carbon recipe * Add activated carbon filter * Add polyaluminium chloride + solution * Add new custom textures by @BlueHero233 * Wip recipe page with new background for flocculation * Fix flocculation background image mostly * Finally aligned the slots * angery mumbles * Finish flocculation recipe page * All the recipe pages! * Add new reworked textures * Fix ph adjustment being t3 instead of t4 * Fix invisible casing * apply chembalance to polyaluminium chloride properly * Fix ferrous wastewater -> flocculation waste liquid * Move flocculation to grade 3 * create ozonation unit with placeholder blocks * add new blocks for ozonation with placeholder textures * Add water to ozonation structure * Create ozone gas material * Add ozone recipe * Add textures for ozone unit * Add sound loop for ozonation * fix * implement ozonation mechanics * Finalize ozonation tooltip * Create dummy plasma heater multi * Update textures for plasma heater * Add grade 5 recipemap * Add hatches to plasma heater multi * Add basic plasma heating unit variables * Implement plasma heating unit mechanics * Add plasma heater tooltip * Add structure info to plasma heater tooltip * fix ozonation tooltip, add frontend * Fix positioning on ozonation tooltip and fix plasma heater crash * Add UV treatment MTE and structure without textures * Revert accidental addition of debug dependencies * Add initial version of uv unit textures * update naquadria casing, add water color gradient * Some minor cleanup and added docs * Create lens housing bus * Add lens bus to UV treatment unit * Add lens indicator hatch * Merge GT_MetaGeneratedItem_03.java * Add lens indicator hatch * Add the lens cycle, uv treatment recipe map and fix eut of flocculation recipe * Implement lens swapping mechanic * Clean up first lens swap * Fix uv recipemap lang and move lens cycle to recipe * Write uv treatment tooltip * Add sounds for uv and plasma steps * Create empty degasifier class * Create temporary debug structure for degasifier * set temp casing index for degasifier * create degasifier control hatch * create slightly less temporary but still temporary structure for degasifier * Start impl of degasifier * fix fluid consumption and nbt loading of degasifier * Degasifier implementation should work now * Rename and reformat some things and start work on degasser tooltiop * give last bit much lower chance of being on to avoid cheesing * Finish degasifier tooltip * Integrate some deleno lore * hopefully fix all moved casing meta ids after merge * Create finalized degasser structure * Integrate more deleno lore * Add even more lore * Create placeholder particle catalysts and fetch particle items from gt++ * Fix wrong casing and recipemap localization * Create parallel config menu * refactor purification recipecheck slightly * implement parallel amount on water i/o and power * add tooltip info about parallel config * fix text * update block names in structure tooltips * create structure tooltip for degasser * create textureless quark catalyst items * add the purple glass * fix lore typos * fix some casing indices * remove concrete floor from water plant and reword tooltip * fix main plant structure and add placeholder structure for t8 step * fix structurecheck for main plant and add random catalyst generation for t8 * implement basic mechanics for particle extractor (wip) * Create plasma heater frontend * implement final mechanics and bugfixes for particle extractor * add recipes for re-aligning quark catalysts * add simple recipes for catalyst alignment * initial replacement of purified water in engraver recipes * add purified water to all wafer cutting recipes * fix purified water amounts * buff quark cyclotron recipe again * extract t8 unit casings into their own icons * Write initial tooltip for t8 module * add purified water to mask recipes * Add recipe comparator to show low tier purified water recipes first * add min casing check to waterline multis * buff ozone production * update t8 structure * make purified water optional again for naq wafers * Fix blockrenderer for purification plant * fix nei previews * fix nei * really fix nei this time * add t8 lore * fix hatch recipe locking blocking automation on some steps * try to solve weirdness with grade 3 recipe * fix issues with recipecheck * fix missing null check * make ph sensor use a strict inequality check * fix min casings on t5 * significantly nerf purified water usage for beamline masks * disable void protection for waterline * small adjustments to t6 unit * more small adjustments to t6 unit to prevent easy automation cheese * fix degasser redstone output and missing return statement * remove water QFT catalyst recipes --------- Co-authored-by: Tianyou Mei <meitianyou94@gmail.com> Co-authored-by: OlliedeLeeuw <ollie.riemersma@xs4all.nl> Co-authored-by: Ollie_de_Leeuw <154506304+OlliedeLeeuw@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders/preload')
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java4
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java89
2 files changed, 92 insertions, 1 deletions
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index 118baaf116..00ccea451e 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -63,6 +63,7 @@ import gregtech.common.blocks.GT_Block_Casings8;
import gregtech.common.blocks.GT_Block_Casings9;
import gregtech.common.blocks.GT_Block_Concretes;
import gregtech.common.blocks.GT_Block_Drone;
+import gregtech.common.blocks.GT_Block_Glass1;
import gregtech.common.blocks.GT_Block_Granites;
import gregtech.common.blocks.GT_Block_Laser;
import gregtech.common.blocks.GT_Block_Machines;
@@ -70,6 +71,7 @@ import gregtech.common.blocks.GT_Block_Metal;
import gregtech.common.blocks.GT_Block_Ores;
import gregtech.common.blocks.GT_Block_Reinforced;
import gregtech.common.blocks.GT_Block_Stones;
+import gregtech.common.blocks.GT_Block_TintedIndustrialGlass;
import gregtech.common.blocks.GT_Cyclotron_Coils;
import gregtech.common.blocks.GT_TileEntity_Ores;
import gregtech.common.items.GT_DepletetCell_Item;
@@ -548,6 +550,8 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GregTech_API.sBlockStones = new GT_Block_Stones();
GregTech_API.sBlockOres1 = new GT_Block_Ores();
GregTech_API.sDroneRender = new GT_Block_Drone();
+ GregTech_API.sBlockGlass1 = new GT_Block_Glass1();
+ GregTech_API.sBlockTintedGlass = new GT_Block_TintedIndustrialGlass();
GregTech_API.sLaserRender = new GT_Block_Laser();
// meta ID order, DO NOT CHANGE ORDER
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index c72459e9cf..9929fbb1c2 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -121,6 +121,10 @@ import static gregtech.api.enums.MetaTileEntityIDs.GAS_TURBINE_HV;
import static gregtech.api.enums.MetaTileEntityIDs.GAS_TURBINE_IV;
import static gregtech.api.enums.MetaTileEntityIDs.GAS_TURBINE_LV;
import static gregtech.api.enums.MetaTileEntityIDs.GAS_TURBINE_MV;
+import static gregtech.api.enums.MetaTileEntityIDs.HATCH_DEGASIFIER_CONTROL;
+import static gregtech.api.enums.MetaTileEntityIDs.HATCH_LENS_HOUSING;
+import static gregtech.api.enums.MetaTileEntityIDs.HATCH_LENS_INDICATOR;
+import static gregtech.api.enums.MetaTileEntityIDs.HATCH_PH_SENSOR;
import static gregtech.api.enums.MetaTileEntityIDs.HIGH_PRESSURE_COAL_BOILER;
import static gregtech.api.enums.MetaTileEntityIDs.HIGH_PRESSURE_LAVA_BOILER;
import static gregtech.api.enums.MetaTileEntityIDs.HIGH_PRESSURE_SOLAR_BOILER;
@@ -318,6 +322,15 @@ import static gregtech.api.enums.MetaTileEntityIDs.PUMP_HV;
import static gregtech.api.enums.MetaTileEntityIDs.PUMP_IV;
import static gregtech.api.enums.MetaTileEntityIDs.PUMP_LV;
import static gregtech.api.enums.MetaTileEntityIDs.PUMP_MV;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_PLANT_CONTROLLER;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_CLARIFIER;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_DEGASIFIER;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_FLOCCULATOR;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_OZONATION;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_PARTICLE_EXTRACTOR;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_PH_ADJUSTMENT;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_PLASMA_HEATER;
+import static gregtech.api.enums.MetaTileEntityIDs.PURIFICATION_UNIT_UV_TREATMENT;
import static gregtech.api.enums.MetaTileEntityIDs.PYROLYSE_OVEN_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.QUADRUPLE_INPUT_HATCHES_EV;
import static gregtech.api.enums.MetaTileEntityIDs.QUADRUPLE_INPUT_HATCHES_IV;
@@ -591,6 +604,19 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Transcenden
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_VacuumFreezer;
import gregtech.common.tileentities.machines.multi.drone.GT_MetaTileEntity_DroneCentre;
import gregtech.common.tileentities.machines.multi.drone.GT_MetaTileEntity_Hatch_DroneDownLink;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_Hatch_DegasifierControlHatch;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_LensHousing;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_LensIndicator;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationPlant;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitClarifier;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitDegasifier;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitFlocculation;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitOzonation;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitParticleExtractor;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitPhAdjustment;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitPlasmaHeater;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitUVTreatment;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_pHSensor;
import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Bronze;
import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Steel;
import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Compressor_Bronze;
@@ -850,7 +876,57 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
DTPF_CONTROLLER.ID,
"multimachine.plasmaforge",
"Dimensionally Transcendent Plasma Forge").getStackForm(1L));
-
+ ItemList.Machine_Multi_PurificationPlant.set(
+ new GT_MetaTileEntity_PurificationPlant(
+ PURIFICATION_PLANT_CONTROLLER.ID,
+ "multimachine.purificationplant",
+ "Water Purification Plant").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitClarifier.set(
+ new GT_MetaTileEntity_PurificationUnitClarifier(
+ PURIFICATION_UNIT_CLARIFIER.ID,
+ "multimachine.purificationunitclarifier",
+ "Clarifier Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitFlocculator.set(
+ new GT_MetaTileEntity_PurificationUnitFlocculation(
+ PURIFICATION_UNIT_FLOCCULATOR.ID,
+ "multimachine.purificationunitflocculator",
+ "Flocculation Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitPhAdjustment.set(
+ new GT_MetaTileEntity_PurificationUnitPhAdjustment(
+ PURIFICATION_UNIT_PH_ADJUSTMENT.ID,
+ "multimachine.purificationunitphadjustment",
+ "pH Neutralization Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitOzonation.set(
+ new GT_MetaTileEntity_PurificationUnitOzonation(
+ PURIFICATION_UNIT_OZONATION.ID,
+ "multimachine.purificationunitozonation",
+ "Ozonation Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitPlasmaHeater.set(
+ new GT_MetaTileEntity_PurificationUnitPlasmaHeater(
+ PURIFICATION_UNIT_PLASMA_HEATER.ID,
+ "multimachine.purificationunitplasmaheater",
+ "Extreme Temperature Fluctuation Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitUVTreatment.set(
+ new GT_MetaTileEntity_PurificationUnitUVTreatment(
+ PURIFICATION_UNIT_UV_TREATMENT.ID,
+ "multimachine.purificationunituvtreatment",
+ "High Energy Laser Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitDegasifier.set(
+ new GT_MetaTileEntity_PurificationUnitDegasifier(
+ PURIFICATION_UNIT_DEGASIFIER.ID,
+ "multimachine.purificationunitdegasifier",
+ "Residual Decontaminant Degasser Purification Unit").getStackForm(1L));
+ ItemList.Machine_Multi_PurificationUnitParticleExtractor.set(
+ new GT_MetaTileEntity_PurificationUnitParticleExtractor(
+ PURIFICATION_UNIT_PARTICLE_EXTRACTOR.ID,
+ "multimachine.purificationunitextractor",
+ "Absolute Baryonic Perfection Purification Unit").getStackForm(1L));
+ ItemList.Hatch_DegasifierControl.set(
+ new GT_MetaTileEntity_Hatch_DegasifierControlHatch(
+ HATCH_DEGASIFIER_CONTROL.ID,
+ "hatch.degasifiercontrol",
+ "Degasser Control Hatch",
+ 8).getStackForm(1L));
ItemList.Machine_Multi_LargeBoiler_Bronze.set(
new GT_MetaTileEntity_LargeBoiler_Bronze(
LARGE_BRONZE_BOILER_CONTROLLER.ID,
@@ -4153,6 +4229,17 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
"hatch.dataaccess.auto",
"Automatable Data Access Hatch",
8).getStackForm(1L));
+ ItemList.Hatch_pHSensor.set(
+ new GT_MetaTileEntity_pHSensor(HATCH_PH_SENSOR.ID, "hatch.phsensor", "pH Sensor Hatch", 7).getStackForm(1));
+ ItemList.Hatch_LensHousing.set(
+ new GT_MetaTileEntity_LensHousing(HATCH_LENS_HOUSING.ID, "hatch.lenshousing", "Lens Housing")
+ .getStackForm(1L));
+ ItemList.Hatch_LensIndicator.set(
+ new GT_MetaTileEntity_LensIndicator(
+ HATCH_LENS_INDICATOR.ID,
+ "hatch.lensindicator",
+ "Lens Indicator Hatch",
+ 8).getStackForm(1L));
generateWiresAndPipes();
}