Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
cee2f15
Add translation for already assembled rocket message
kaduvill Oct 15, 2025
0ca57a6
Rocket assembler: fixed: errormessage and translationkey
kaduvill Oct 15, 2025
a052e20
Add unscanned station message to lang file
kaduvill Oct 15, 2025
07b3319
Fix failure message formatting in en_US.lang
kaduvill Oct 15, 2025
45e0513
Add new error codes for rocket assembly (station assembler)
kaduvill Oct 15, 2025
d0398b8
Station assembler properly communicates with player
kaduvill Oct 15, 2025
6e997b4
Perfomance fixes
kaduvill Oct 17, 2025
26b343c
fixed Satellite terminal
kaduvill Oct 17, 2025
11a4638
Change 'Connect!' to 'Download' and update thrust message to fit GUI
kaduvill Oct 17, 2025
416a7a7
Improve event bus registration in TileRocketAssemblingMachine
kaduvill Oct 18, 2025
807c9a4
Add ModuleSatelliteTerminal for satelliteterminal
kaduvill Oct 19, 2025
dd697a6
Refactor TileSatelliteTerminal for clarity and efficiency
kaduvill Oct 19, 2025
9d9dbbd
Change sync period from 10 ticks to 9 ticks
kaduvill Oct 19, 2025
a0683cf
Refactor extractData method in TileSatelliteTerminal
kaduvill Oct 20, 2025
cb3d62e
Add insert message to wireless transceiver language file
kaduvill Oct 20, 2025
acaf487
Add up and down facing states to wirelesstransciever
kaduvill Oct 20, 2025
e2ee79b
Enhance TileWirelessTransciever
kaduvill Oct 20, 2025
07b5a20
Refactor BlockTransciever for 6way placing
kaduvill Oct 20, 2025
a117839
Fix import statements in BlockTransciever.java
kaduvill Oct 20, 2025
009be84
Implement scroll caching for GUI module
kaduvill Oct 21, 2025
a65205f
Mousewheel-scrolling asteroidlist
kaduvill Oct 21, 2025
a69461c
Improve scroll caching and scroll asteroidlist with mousewheel.
kaduvill Oct 21, 2025
937fbfb
Tooltip for ItemAsteroidChip
kaduvill Oct 21, 2025
791e540
Add new observatory and asteroid chip messages
kaduvill Oct 21, 2025
4ca03d3
Dynamic Process button tooltip handling
kaduvill Oct 21, 2025
8dde7e4
Update RenderAsteroidSky.java
kaduvill Oct 24, 2025
3c1cf60
Fixing rocketmonitor tickspam
kaduvill Oct 24, 2025
788a9f8
Enhance TileRocketMonitoringStation functionality
kaduvill Oct 24, 2025
1203b91
Add monitoring station status messages
kaduvill Oct 24, 2025
e149f8b
Implement fuel rate recomputation in EntityRocket
kaduvill Oct 27, 2025
6177518
Refactor BlockTileRedstoneEmitter methods
kaduvill Oct 27, 2025
2c4e136
Enhance fluid management and redstone control in TileFuelingStation
kaduvill Oct 27, 2025
ca6aa6b
fixed status updates
kaduvill Oct 27, 2025
b95ff89
Refactor fuel rates and implement chunk preloading
kaduvill Oct 28, 2025
2448947
Update gradle.properties
dercodeKoenig Oct 28, 2025
ae446a9
Improved tooltip information display
kaduvill Oct 29, 2025
fa2f5e9
Update weight message for satellite tooltip
kaduvill Oct 29, 2025
c9a24ea
Remove unused import for SatelliteModuleInventory
kaduvill Oct 29, 2025
00be1dd
Fixed
kaduvill Oct 29, 2025
b189770
Remove super.init() to optimize world initialization
kaduvill Oct 29, 2025
f593ad4
Enhance data type handling in DataStorage
kaduvill Oct 30, 2025
50c2c22
Add ModuleWirelessBufferBar for wireless Tranciever
kaduvill Oct 30, 2025
9aebe12
Implement auto-download with exponential backoff
kaduvill Oct 30, 2025
0c363b1
Refactor TileWirelessTransciever code structure
kaduvill Oct 30, 2025
609ecde
Prevent duplicate chipwrites for same seed and button
kaduvill Oct 30, 2025
28a9fea
Update modVersion to 2.2.1
kaduvill Oct 30, 2025
8155671
Optimize data extraction in TileObservatory
kaduvill Nov 1, 2025
a0a6b44
Fix missing newline at end of ItemSatellite.java
kaduvill Nov 1, 2025
9f53a71
removed useless GUI calculation when player arent even looking
kaduvill Nov 2, 2025
cf0c0b6
shaving the spam even more.
kaduvill Nov 2, 2025
b0340c7
Enhance TileFluidTank with fluid handling features
kaduvill Nov 3, 2025
8384bdf
Refactor ItemBlockFluidTank to improve fluid handling
kaduvill Nov 3, 2025
333b457
Refactor BlockPressurizedFluidTank interactions and methods
kaduvill Nov 3, 2025
31b926a
Update language file with new and corrected entries
kaduvill Nov 4, 2025
165ea2d
Using same calculation, safety and performance as parent (rocketassem…
kaduvill Nov 5, 2025
a5db4c9
Change intake amount from 10 to 1
kaduvill Nov 5, 2025
45c0bac
Add gas harvest amount multiplier and infinite option
kaduvill Nov 5, 2025
3b003f7
part of update for child (concerning gas missions)
kaduvill Nov 5, 2025
691eb28
Enhance gas collection and fuel consumption logic
kaduvill Nov 5, 2025
9228b33
Add intake power calculation and refine liquid capacity
kaduvill Nov 5, 2025
26403d4
Simplify power per operation
kaduvill Nov 5, 2025
93a4cd4
Refactor gas collection logic in MissionGasCollection
kaduvill Nov 5, 2025
42670ab
Fix typo in copy chip hint message
kaduvill Nov 5, 2025
c7017b9
PerformanceTweaks
kaduvill Nov 5, 2025
fea1fae
Improve rotation update handling in PacketStationUpdate
kaduvill Nov 5, 2025
4967046
Refactor GUI update logic in TileStationOrientationController
kaduvill Nov 5, 2025
b6e9445
Fix formatting issue in TileUnmannedVehicleAssembler
kaduvill Nov 5, 2025
b98253c
Refactor rotation and time modification handling
kaduvill Nov 5, 2025
7097b9c
Simplify rotation state application for space stations
kaduvill Nov 5, 2025
fadb212
Add handling for nuclear working fluid in EntityRocket
kaduvill Nov 6, 2025
3b35f5f
Fix nuclear working fluid
kaduvill Nov 6, 2025
d032423
Nuclear Working Fluid fix
kaduvill Nov 6, 2025
e08ffb8
Add newline at end of EntityStationDeployedRocket.java
kaduvill Nov 6, 2025
38ebc68
Fix formatting issue in TileUnmannedVehicleAssembler
kaduvill Nov 6, 2025
d47c703
Add newline at end of EntityStationDeployedRocket.java
kaduvill Nov 6, 2025
620e62f
Hide energy capability and prevent EnergyConnections
kaduvill Nov 6, 2025
dcfdeff
Fix missing newline at end of TileUnmannedVehicleAssembler.java
kaduvill Nov 6, 2025
c0308c7
Add newline at end of WeightEngine.java
kaduvill Nov 6, 2025
0423175
Fix duration check to prevent zero or negative values
kaduvill Nov 6, 2025
00fd0d0
Add newline at end of EntityStationDeployedRocket.java
kaduvill Nov 6, 2025
87010e8
Fix missing newline at end of file
kaduvill Nov 6, 2025
037c6f8
Enhance rocket pad handling in TileRocketAssemblingMachine
kaduvill Nov 6, 2025
15ae319
Clear caches in unlink and onChunkUnload methods
kaduvill Nov 6, 2025
7c1002f
Implement cleanup in invalidate and onChunkUnload methods
kaduvill Nov 6, 2025
f556049
Update TileGasChargePad.java
kaduvill Nov 6, 2025
d227854
hide unused datatypes in tooltips
kaduvill Nov 7, 2025
8df5c73
added public method to pass on to moniter
kaduvill Nov 7, 2025
f43b98f
Update rocket error messages and add new messages
kaduvill Nov 7, 2025
b89b310
Add error handling and fuel checks for rocket launch
kaduvill Nov 7, 2025
7e0e9a5
Add RocketAbortEvent class for rocket abort handling
kaduvill Nov 7, 2025
3cc98a1
Add orbitEventPosted flag to prevent duplicate events
kaduvill Nov 7, 2025
6903006
Initialize missionPersistantNBT and add getter for harvest
kaduvill Nov 7, 2025
a8b5cd3
Add asteroid metadata persistence in MissionOreMining
kaduvill Nov 7, 2025
dc39cdb
Add getter for gasFluid in MissionGasCollection
kaduvill Nov 7, 2025
d11d904
Refactor satellite resolution and caching logic
kaduvill Nov 7, 2025
f37f59b
Refactor network handling and UI synchronization
kaduvill Nov 7, 2025
f79383d
Improve AABB normalization and rocket assembly logic
kaduvill Nov 7, 2025
b23f175
Add getActualState method for fuel tank detection
kaduvill Nov 8, 2025
e259b7d
Implement facing logic for nuclear rocket motor
kaduvill Nov 8, 2025
18cb4ab
branched for SDrockets
kaduvill Nov 8, 2025
7f4726d
strenghtened linking on load
kaduvill Nov 8, 2025
2e27bfa
Fix missing newline at end of file
kaduvill Nov 8, 2025
ed77b61
Refactor bounding box handling in TileUnmannedVehicleAssembler
kaduvill Nov 8, 2025
8492e8a
Implement relink retries for infrastructure linking
kaduvill Nov 8, 2025
c700cfd
Refactor rocket event posting logic
kaduvill Nov 8, 2025
595b6aa
Refactor TileRocketMonitoringStation class
kaduvill Nov 8, 2025
cf0bc37
Add new localization entries for monitoring station
kaduvill Nov 8, 2025
aac52d6
Add fueling station integration to ARPlugin
kaduvill Nov 8, 2025
6c74299
Add FuelingStationCategory for JEI integration
kaduvill Nov 8, 2025
2442bd4
Delete src/main/java/zmaster587/advancedRocketry/integration/jei/fuel…
kaduvill Nov 8, 2025
8adb404
Add FuelingStationCategory for JEI integration
kaduvill Nov 8, 2025
f2f60f5
Implement FuelingStationRecipeHandler class
kaduvill Nov 8, 2025
1b286eb
Implement FuelingStationRecipeMaker class
kaduvill Nov 8, 2025
a14bf82
Add FuelingStationWrapper for JEI integration
kaduvill Nov 8, 2025
a3b80b2
Increase max stack size of ItemPressureTank
kaduvill Nov 8, 2025
b15ad95
Implement Co2ScrubberCategory for JEI integration
kaduvill Nov 8, 2025
f74fb2e
Implement Co2ScrubberRecipeHandler class
kaduvill Nov 8, 2025
14809e6
Add Co2ScrubberRecipeMaker class for recipe handling
kaduvill Nov 8, 2025
1199372
Implement Co2ScrubberWrapper for JEI integration
kaduvill Nov 8, 2025
aee6916
Add CO2 Scrubber integration to ARPlugin
kaduvill Nov 8, 2025
2446992
Enhance tooltip information for Launchpad
kaduvill Nov 8, 2025
408be66
Enhance tooltip information for BlockLandingPad
kaduvill Nov 8, 2025
a8f1a45
Enhance tooltip information for BlockNuclearCore
kaduvill Nov 8, 2025
55f15be
Enhance tooltip information for BlockRocketMotor
kaduvill Nov 8, 2025
04128cb
Enhance tooltip details for rocket motor block
kaduvill Nov 8, 2025
b3f51ce
Enhance tooltip for BlockNuclearRocketMotor
kaduvill Nov 8, 2025
f09271c
Update tooltip formatting for nuclear rocket motor
kaduvill Nov 8, 2025
08b3d61
Change tooltip text color for nuclear core details
kaduvill Nov 8, 2025
e96f650
Change tooltip color for alt key details
kaduvill Nov 8, 2025
2b7ef29
Change tooltip formatting for alt key details
kaduvill Nov 8, 2025
f64ddac
Change tooltip text color for landing pad details
kaduvill Nov 8, 2025
a0d7e60
Change tooltip text color for alt key
kaduvill Nov 8, 2025
10588e9
Remove tooltip callback from Co2ScrubberCategory
kaduvill Nov 8, 2025
8847357
Implement tooltip for ItemAtmosphereAnalyzer
kaduvill Nov 8, 2025
d77c430
Implement tooltip for BlockTileRedstoneEmitter
kaduvill Nov 8, 2025
244a729
Implement tooltip for ItemBeaconFinder
kaduvill Nov 8, 2025
479636f
Refactor BlockPressurizedFluidTank methods for clarity
kaduvill Nov 8, 2025
1f6b5f6
Fix guard condition for fluid draining
kaduvill Nov 8, 2025
be3489d
Refactor addInformation method for clarity
kaduvill Nov 8, 2025
0890ada
Enhance fluid tank item tooltips with localization
kaduvill Nov 8, 2025
223b0da
Implement tooltip for BlockIntake class
kaduvill Nov 8, 2025
6be0bb1
Implement tooltip for BlockMiningDrill
kaduvill Nov 8, 2025
6abe8a1
Implement tooltip for BlockLens class
kaduvill Nov 8, 2025
64632bc
Implement tooltip for BlockTransciever
kaduvill Nov 8, 2025
b27ad63
Implement tooltip for BlockSeat item
kaduvill Nov 8, 2025
6bde183
Adjust panning container dimensions in TileAtmosphereDetector
kaduvill Nov 9, 2025
a251eb9
Implement tooltip for Atmospheredetector
kaduvill Nov 9, 2025
d6f8edd
Add tooltip information to BlockSuitWorkstation
kaduvill Nov 9, 2025
8395506
Implement tooltip for BlockStationModuleDockingPort
kaduvill Nov 9, 2025
3aaee15
Implement tooltip for BlockSeal item
kaduvill Nov 9, 2025
d812a41
Implement tooltip for BlockTileTerraformer
kaduvill Nov 9, 2025
1f204bd
Add tooltip information to BlockWarpController
kaduvill Nov 9, 2025
620a003
Implement tooltip for ItemJetpack
kaduvill Nov 9, 2025
34b0975
Implement tooltip for ItemSealDetector
kaduvill Nov 9, 2025
7651f06
Add tooltip information for ItemData when shift is held
kaduvill Nov 9, 2025
0fe789f
Improve tooltip display for ItemAsteroidChip
kaduvill Nov 9, 2025
d358feb
Fix missing newline at end of TileSatelliteTerminal.java
kaduvill Nov 10, 2025
4640565
moved tooltip to centralized injector
kaduvill Nov 10, 2025
6802d85
Refactor tooltip information handling in BlockLandingPad
kaduvill Nov 10, 2025
385a9f6
Refactor tooltip information handling in BlockNuclearRocketMotor
kaduvill Nov 10, 2025
ebb0bc4
Simplify tooltip display logic in BlockBipropellantRocketMotor
kaduvill Nov 10, 2025
e2a5ea0
Refactor tooltip information handling in BlockRocketMotor
kaduvill Nov 10, 2025
43fcc74
Remove shift key tooltip from ItemAsteroidChip
kaduvill Nov 10, 2025
93b9e13
Fix missing newline at end of ItemStationChip.java
kaduvill Nov 10, 2025
18e7dc1
Fix missing newline at end of ItemSatelliteIdentificationChip.java
kaduvill Nov 10, 2025
1ab910e
Refactor addInformation to enhance tooltip display
kaduvill Nov 10, 2025
c62e305
Implement tooltip for BlockSolarGenerator
kaduvill Nov 10, 2025
ac06d6b
Add JEI wrapper for Station Assembler
kaduvill Nov 11, 2025
636f6ef
Add StationAssemblerRecipeMaker for JEI integration
kaduvill Nov 11, 2025
0f1adf6
Implement StationAssemblerRecipeHandler class
kaduvill Nov 11, 2025
ec20523
Implement tooltip for BlockForceFieldProjector
kaduvill Nov 11, 2025
6f3ede6
Fix typo in tooltip for BlockTransciever
kaduvill Nov 12, 2025
03c8f76
Remove second SHIFT tooltip line from fluid tank
kaduvill Nov 12, 2025
c94bf93
Add BlockPump class for fluid handling
kaduvill Nov 12, 2025
c0244eb
Remove redundant tooltip line from pressure tank
kaduvill Nov 12, 2025
907a63c
Update ItemData.java
kaduvill Nov 12, 2025
1f0c7cb
Enhance fluid handling in TilePump class
kaduvill Nov 12, 2025
d90dce2
Replace BlockTile with BlockPump for pump block
kaduvill Nov 12, 2025
3f2d615
Refactor TileMicrowaveReciever for robustness and clarity
kaduvill Nov 12, 2025
4620cde
Implement tooltip for ItemPackedStructure
kaduvill Nov 12, 2025
a3aa73e
Implement hatch inventory snapshot and restore
kaduvill Nov 12, 2025
3f586e5
Add newline at end of TileMicrowaveReciever.java
kaduvill Nov 12, 2025
df18b0d
Update StationAssemblerWrapper to include station block
kaduvill Nov 12, 2025
d3aea73
Add Station Assembler integration to ARPlugin
kaduvill Nov 12, 2025
55185ad
Implement StationAssemblerCategory for JEI integration
kaduvill Nov 12, 2025
403e2aa
Implement TooltipInjector for item tooltips
kaduvill Nov 12, 2025
e8a2ff8
Implement IMultiblock interface in TileRocketMonitoringStation
kaduvill Nov 16, 2025
51399d3
Add newline at end of TileUnmannedVehicleAssembler.java
kaduvill Nov 16, 2025
c1dd8b3
Implement ITickable in TileRocketAssemblingMachine
kaduvill Nov 16, 2025
439aa52
Refactor TileRocketAssemblingMachine for clarity
kaduvill Nov 16, 2025
5c40c62
Remove debug logging from TileRocketMonitoringStation
kaduvill Nov 16, 2025
a1225c9
Add newline at end of EntityStationDeployedRocket.java
kaduvill Nov 16, 2025
7fd017e
Refactor comment for clarity in TileFuelingStation
kaduvill Nov 16, 2025
f6e64bd
Fix missing newline at end of TooltipInjector.java
kaduvill Nov 16, 2025
13acc9b
Refactor language file for item and tile names
kaduvill Nov 16, 2025
3352075
Merge pull request #2 from kaduvill/kaduvill-patch-1st-after-betapush
kaduvill Nov 16, 2025
d7857cf
Refactor item information display in ItemData
kaduvill Nov 17, 2025
fef59f5
Clean up renderScreen method in ItemPressureTank
kaduvill Nov 17, 2025
a1df6d8
Reorganize imports and clean up BlockTransciever
kaduvill Nov 17, 2025
9a91ffe
Refactor ItemBlockFluidTank by removing imports
kaduvill Nov 17, 2025
62c87d4
Remove unnecessary blank lines in BlockForceFieldProjector
kaduvill Nov 17, 2025
f0344b9
Fix formatting in BlockSolarGenerator.java
kaduvill Nov 17, 2025
8e4dd41
Fix formatting in BlockNuclearCore.java
kaduvill Nov 17, 2025
17a3834
Refactor comment for visual tag generation
kaduvill Nov 17, 2025
9fc62c3
Fix missing newline at end of ItemPlanetIdentificationChip.java
kaduvill Nov 17, 2025
16dae64
Fix formatting issue in BlockRocketMotor.java
kaduvill Nov 17, 2025
546755d
Add newline at end of BlockBipropellantRocketMotor.java
kaduvill Nov 17, 2025
3801a23
Add newline at end of Co2ScrubberWrapper.java
kaduvill Nov 17, 2025
5c73fb7
Fix missing newline at end of Co2ScrubberRecipeMaker.java
kaduvill Nov 17, 2025
dcc99e3
Fix recipe validation logic in Co2ScrubberRecipeHandler
kaduvill Nov 17, 2025
0db3f06
Remove commented code and clean up formatting
kaduvill Nov 17, 2025
d5b68fb
Add newline at end of BlockPressurizedFluidTank.java
kaduvill Nov 17, 2025
40fe803
Add newline at end of BlockTileRedstoneEmitter.java
kaduvill Nov 17, 2025
ab92fed
Define supported data types in MultiData
kaduvill Nov 17, 2025
1ff2944
Clean up BlockLinkedHorizontalTexture.java
kaduvill Nov 17, 2025
d9c8bbe
Remove unnecessary comment in FuelingStationWrapper
kaduvill Nov 17, 2025
6fedd10
Remove commented code in FuelingStationRecipeMaker
kaduvill Nov 17, 2025
24304a8
Add newline at end of FuelingStationRecipeHandler.java
kaduvill Nov 17, 2025
6f4c16c
Remove commented-out code in drawExtras method
kaduvill Nov 17, 2025
f5e1a47
Add newline at end of BlockLandingPad.java
kaduvill Nov 17, 2025
75f3621
Fix formatting and add newline at end of file
kaduvill Nov 17, 2025
8c41706
Fix formatting issue in ItemSealDetector.java
kaduvill Nov 17, 2025
dc592bb
Add tooltip support to BlockDoor2
kaduvill Nov 17, 2025
c31bb9b
Fix formatting and remove unnecessary line
kaduvill Nov 17, 2025
fe1d652
Fix formatting and remove unnecessary newline
kaduvill Nov 17, 2025
7151339
Fix formatting and remove unnecessary whitespace
kaduvill Nov 17, 2025
e5cd691
Remove extra newline in BlockSeal.java
kaduvill Nov 17, 2025
ca13e7e
Fix missing newline at end of ItemBiomeChanger.java
kaduvill Nov 17, 2025
be0e7e7
Remove unnecessary newline at end of BlockSuitWorkstation.java
kaduvill Nov 17, 2025
c7ed0e5
Fix formatting by removing extra newlines
kaduvill Nov 17, 2025
e9e3e4b
Add newline at end of TileAtmosphereDetector.java
kaduvill Nov 17, 2025
50a7256
Fix formatting in BlockLens.java
kaduvill Nov 17, 2025
808653c
Fix formatting and add tooltip information for BlockSeat
kaduvill Nov 17, 2025
b6defb3
Fix formatting by removing extra newlines
kaduvill Nov 17, 2025
20f6cfb
Remove unnecessary newline and fix formatting
kaduvill Nov 17, 2025
acdee5b
Remove unnecessary newline and clean up code
kaduvill Nov 17, 2025
510571a
Fix formatting by removing trailing newline
kaduvill Nov 17, 2025
c028617
Add newline at end of EntityStationDeployedRocket.java
kaduvill Nov 17, 2025
7d7a59f
Add newline at end of TileUnmannedVehicleAssembler.java
kaduvill Nov 17, 2025
c2e1c89
Fix missing newline at end of TileSatelliteTerminal.java
kaduvill Nov 17, 2025
36e526d
Refactor TileWirelessTransciever code structure
kaduvill Nov 17, 2025
c4cd7c7
Fix missing newline at end of StatsRocket.java
kaduvill Nov 17, 2025
4b8f6dc
Add newline at end of WeightEngine.java
kaduvill Nov 17, 2025
d56faae
Update TileFluidTank.java
kaduvill Nov 17, 2025
46b3ee0
Refactor DataStorage.java formatting
kaduvill Nov 17, 2025
dbf0fe2
Fix missing newline at end of ItemSatellite.java
kaduvill Nov 17, 2025
bc25c23
Fix missing newline in ItemSatelliteIdentificationChip.java
kaduvill Nov 17, 2025
255e9a4
Implement tooltip for ItemJackHammer
kaduvill Nov 20, 2025
1d07d61
Add tooltip support to BlockThermiteTorch
kaduvill Nov 20, 2025
4fa3b38
Add tooltip information to ItemThermite
kaduvill Nov 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ org.gradle.daemon=false
# Project
mcVersion=1.12.2
forgeVersion=14.23.5.2860
modVersion=2.1.10
modVersion=2.2.1
archiveBase=AdvancedRocketry
startGitRev=8e676bd

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,7 @@ public void registerBlocks(RegistryEvent.Register<Block> evt) {
AdvancedRocketryBlocks.blockForceFieldProjector = new BlockForceFieldProjector(Material.IRON).setUnlocalizedName("forceFieldProjector").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockForceField = new BlockForceField(Material.BARRIER).setBlockUnbreakable().setResistance(6000000.0F).setUnlocalizedName("forceField");
AdvancedRocketryBlocks.blockVacuumLaser = new BlockFullyRotatable(Material.IRON).setUnlocalizedName("vacuumLaser").setCreativeTab(tabAdvRocketry).setHardness(4f);
AdvancedRocketryBlocks.blockPump = new BlockTile(TilePump.class, GuiHandler.guiId.MODULAR.ordinal()).setUnlocalizedName("pump").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockPump = new BlockPump(TilePump.class, GuiHandler.guiId.MODULAR.ordinal()).setUnlocalizedName("pump").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockSuitWorkStation = new BlockSuitWorkstation(TileSuitWorkStation.class, GuiHandler.guiId.MODULAR.ordinal()).setUnlocalizedName("suitWorkStation").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockPressureTank = new BlockPressurizedFluidTank(Material.IRON).setUnlocalizedName("pressurizedTank").setCreativeTab(tabAdvRocketry).setHardness(3f);
AdvancedRocketryBlocks.blockSolarGenerator = new BlockSolarGenerator(TileSolarPanel.class, GuiHandler.guiId.MODULAR.ordinal()).setCreativeTab(tabAdvRocketry).setHardness(3f).setUnlocalizedName("solarGenerator");
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/zmaster587/advancedRocketry/api/ARConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,10 @@ public class ARConfiguration {
@ConfigProperty(needsSync = true)
public double gasCollectionMult;
@ConfigProperty(needsSync = true)
public double gasHarvestAmountMultiplier;
@ConfigProperty(needsSync = true)
public boolean gasHarvestInfinite;
@ConfigProperty(needsSync = true)
public double terraformSpeed;
@ConfigProperty
public boolean terraformRequiresFluid;
Expand Down Expand Up @@ -412,6 +416,16 @@ public static void loadPreInit() {
arConfig.gasCollectionMult = config.get(MISSION, "gasMissionMultiplier", 1.0, "Multiplier for the amount of time gas collection missions take").getDouble();
harvestableGasses = config.getStringList("harvestableGasses", MISSION, new String[]{}, "list of fluid names that can be harvested as Gas from any gas giant");
spawnableGasses = config.getStringList("spawnableGasses", MISSION, new String[]{"hydrogen;125;1600;1.0", "helium;125;1600;0.9", "helium3;175;1600;0.2", "oxygen;0;124;1.0", "nitrogen;0;124;1.0", "ammonia;0;124;0.75", "methane;0;124;0.25"}, "list of fluid names that can be spawned as a gas giant. Format is fluid;minGravity;maxGravity;chance");
arConfig.gasHarvestAmountMultiplier = config.get(
MISSION, "gasHarvestAmountMultiplier", 1.0,
"Per-mission harvest cap = 64,000 mB × multiplier. Actual yield = min(cap, total free tank space at launch). Ignored if gasHarvestInfinite=true."
).getDouble();

arConfig.gasHarvestInfinite = config.get(
MISSION, "gasHarvestInfinite", false,
"Fill all attached tanks up to their total free space at launch, capped at 2,147,483,647 mB per mission."
).getBoolean();


//Energy Production
arConfig.solarGeneratorMult = config.get(ENERGY, "solarGeneratorMultiplier", 1, "Amount of power per tick the solar generator should produce").getInt();
Expand Down
62 changes: 50 additions & 12 deletions src/main/java/zmaster587/advancedRocketry/api/DataStorage.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,25 @@ public DataStorage(DataType data) {
}

public boolean setData(int data, DataType dataType) {
if (this.dataType == DataStorage.DataType.UNDEFINED)
// If empty/typeless, allow adopting the provided type (unless locked)
if (this.dataType == DataStorage.DataType.UNDEFINED && !this.locked) {
this.dataType = dataType;
}

if (dataType == DataStorage.DataType.UNDEFINED || dataType == this.dataType) {
this.data = Math.min(data, maxData);

// If we just became empty and are not locked, clear type
if (!this.locked && this.data == 0) {
this.dataType = DataType.UNDEFINED;
}
return true;
}
return false;
}



public int getData() {
return data;
}
Expand Down Expand Up @@ -78,20 +87,46 @@ public boolean isLocked() {
* @param dataType type to add
* @return data amount added
*/
public int addData(int data, DataType dataType, boolean commit) {
if ((!this.locked && (dataType == DataStorage.DataType.UNDEFINED)) || dataType == this.dataType || this.dataType == DataStorage.DataType.UNDEFINED) {
public int addData(int data, DataType incomingType, boolean commit) {
// Snapshot
final boolean empty = (this.data == 0);
DataType current = this.dataType;

// Compute effective type without mutating state on simulation
DataType effective = current;
if (!this.locked && empty) {
effective = (incomingType != DataType.UNDEFINED) ? incomingType : DataType.UNDEFINED;
}

// Accept if: unlocked+UNDEFINED (wildcard), same type, or typeless
boolean accepts =
(!this.locked && incomingType == DataType.UNDEFINED) ||
(incomingType == effective) ||
(!this.locked && effective == DataType.UNDEFINED);


if (!accepts) return 0;

if (this.dataType == DataStorage.DataType.UNDEFINED)
this.dataType = dataType;
int amountToAdd = Math.min(data, this.maxData - this.data);
if (amountToAdd <= 0) return 0;

int amountToAdd = Math.min(data, this.maxData - this.data);
if (commit)
this.data += amountToAdd;
return amountToAdd;
if (commit) {
// Finalize adoption only on real add
if (!this.locked && this.data == 0) {
this.dataType = (incomingType != DataType.UNDEFINED) ? incomingType : DataType.UNDEFINED;
}
this.data += amountToAdd;

// If still UNDEFINED but we added concrete data (edge case), solidify
if (this.dataType == DataType.UNDEFINED && incomingType != DataType.UNDEFINED) {
this.dataType = incomingType;
}
}
return 0;
return amountToAdd;
}



/**
* @param data max amount of data to remove
* @return amount of data removed
Expand Down Expand Up @@ -122,12 +157,15 @@ public void readFromNBT(NBTTagCompound nbt) {
dataType = DataType.UNDEFINED;
}


///TODO: dev compat
if (nbt.hasKey("locked"))
locked = nbt.getBoolean("locked");
else
locked = false;

// >>> ADD: heal stale type on empty <<<
if (!locked && data == 0) {
dataType = DataType.UNDEFINED;
}
}

public enum DataType {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ public RocketPreLaunchEvent(Entity entity) {
super(entity);
}
}
public static class RocketAbortEvent extends RocketEvent {
public final String reason; // optional, for GUIs/logs
public RocketAbortEvent(Entity entity, String reason) {
super(entity);
this.reason = reason;
}
}

/**
* Fired before the rocket is finished teleporting to the destination world on the Minecraft Forge EVENT_BUS
Expand Down
15 changes: 10 additions & 5 deletions src/main/java/zmaster587/advancedRocketry/api/StatsRocket.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ public float getWeight() {
Fluid f = FluidRegistry.getFluid(getOxidizerFluid());
fluidWeight += WeightEngine.INSTANCE.getWeight(f, getFuelAmount(FuelType.LIQUID_OXIDIZER));
}
if (FluidRegistry.isFluidRegistered(getWorkingFluid())) {
Fluid f = FluidRegistry.getFluid(getWorkingFluid());
fluidWeight += WeightEngine.INSTANCE.getWeight(f, getFuelAmount(FuelType.NUCLEAR_WORKING_FLUID));
}
}
return weight + fluidWeight;
}
Expand Down Expand Up @@ -554,6 +558,7 @@ public void reset() {
weight = 0;
fuelFluid = "null";
oxidizerFluid = "null";
workingFluid = "null";
drillingPower = 0f;

for (FuelType type : FuelType.values()) {
Expand Down Expand Up @@ -720,12 +725,12 @@ public void readFromNBT(NBTTagCompound nbt) {
this.fuelRateNuclearWorkingFluid = stats.getInteger("fuelRateNuclearWorkingFluid");
this.fuelRateWarp = stats.getInteger("fuelRateWarp");

this.fuelBaseRateMonopropellant = stats.getInteger("fuelBaseRateMonopropellant");
this.fuelBaseRateBipropellant = stats.getInteger("fuelBaseRateBipropellant");
this.fuelBaseRateOxidizer = stats.getInteger("fuelBaseRateOxidizer");
this.fuelBaseRateMonopropellant = (int)stats.getFloat("fuelBaseRateMonopropellant");
this.fuelBaseRateBipropellant = (int)stats.getFloat("fuelBaseRateBipropellant");
this.fuelBaseRateOxidizer = (int)stats.getFloat("fuelBaseRateOxidizer");
this.fuelBaseRateImpulse = stats.getInteger("fuelBaseRateImpulse");
this.fuelBaseRateIon = stats.getInteger("fuelBaseRateIon");
this.fuelBaseRateNuclearWorkingFluid = stats.getInteger("fuelBaseRateNuclearWorkingFluid");
this.fuelBaseRateNuclearWorkingFluid = (int)stats.getFloat("fuelBaseRateNuclearWorkingFluid");
this.fuelBaseRateWarp = stats.getInteger("fuelBaseRateWarp");


Expand Down Expand Up @@ -766,4 +771,4 @@ else if (obj instanceof NBTTagInt)
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
Expand All @@ -11,14 +14,20 @@
import net.minecraft.util.EnumFacing;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import zmaster587.advancedRocketry.api.ARConfiguration;
import zmaster587.advancedRocketry.api.IRocketEngine;
import zmaster587.advancedRocketry.client.TooltipInjector;
import zmaster587.advancedRocketry.tile.TileBrokenPart;
import zmaster587.advancedRocketry.util.IBrokenPartBlock;
import zmaster587.libVulpes.block.BlockFullyRotatable;

import java.util.List;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

Expand All @@ -39,6 +48,23 @@ public int getThrust(World world, BlockPos pos) {
return 10;
}

@Override
public IBlockState getActualState(@Nonnull IBlockState state, IBlockAccess world, BlockPos pos) {
if (world.getBlockState(pos.up()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.DOWN);
if (world.getBlockState(pos.down()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.UP);
if (world.getBlockState(pos.east()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.EAST);
if (world.getBlockState(pos.west()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.WEST);
if (world.getBlockState(pos.south()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.SOUTH);
if (world.getBlockState(pos.north()).getBlock() instanceof BlockFuelTank)
return state.withProperty(FACING, EnumFacing.NORTH);
return super.getActualState(state, world, pos);
}

@Override
public int getFuelConsumptionRate(World world, int x, int y, int z) {
return 1;
Expand Down Expand Up @@ -102,6 +128,13 @@ public TileEntity createTileEntity(final World worldIn, final IBlockState state)
return new TileBrokenPart(10, (float) ARConfiguration.getCurrentConfig().increaseWearIntensityProb);
}

@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
int insertAt = TooltipInjector.computeInsertIndex(tooltip, flag.isAdvanced());
TooltipInjector.renderShiftAlt(stack, tooltip, "tooltip.advancedrocketry.bipropmotor", insertAt);
}

@Override
public ItemStack getDropItem(final IBlockState state, final World world, final @Nullable TileBrokenPart te) {
ItemStack drop = new ItemStack(this.getItemDropped(state, world.rand, 0));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.minecraft.block.BlockDoor;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
Expand All @@ -14,9 +15,13 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import zmaster587.advancedRocketry.api.AdvancedRocketryItems;
import zmaster587.advancedRocketry.client.TooltipInjector;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.ParametersAreNullableByDefault;

import java.util.List;
import java.util.Random;

public class BlockDoor2 extends BlockDoor {
Expand All @@ -32,7 +37,6 @@ public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) {
return new ItemStack(AdvancedRocketryItems.itemSmallAirlockDoor);
}


@Override
@Nonnull
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
Expand All @@ -45,5 +49,5 @@ public boolean onBlockActivated(World worldIn, BlockPos pos,
IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing side, float hitX, float hitY,
float hitZ) {
return false;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
package zmaster587.advancedRocketry.block;

import java.util.List;
import javax.annotation.Nullable;

import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import zmaster587.advancedRocketry.client.TooltipInjector;
import zmaster587.advancedRocketry.tile.TileForceFieldProjector;
import zmaster587.libVulpes.block.BlockFullyRotatable;

Expand Down Expand Up @@ -33,5 +41,10 @@ public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileForceFieldProjector();
}

@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
int insertAt = TooltipInjector.computeInsertIndex(tooltip, flag.isAdvanced());
TooltipInjector.renderShiftAlt(stack, tooltip, "tooltip.advancedrocketry.forcefieldprojector", insertAt);
}
}
20 changes: 18 additions & 2 deletions src/main/java/zmaster587/advancedRocketry/block/BlockIntake.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,35 @@
package zmaster587.advancedRocketry.block;

import java.util.List;

import javax.annotation.Nullable;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import zmaster587.advancedRocketry.api.IIntake;
import zmaster587.advancedRocketry.client.TooltipInjector;

public class BlockIntake extends Block implements IIntake {

public BlockIntake(Material material) {
super(material);
}

@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
int insertAt = TooltipInjector.computeInsertIndex(tooltip, flag.isAdvanced());
TooltipInjector.renderShiftAlt(stack, tooltip, "tooltip.advancedrocketry.intake", insertAt);
}

@Override
public int getIntakeAmt(IBlockState state) {
return 10;
return 1;
}

}
Loading