Skip to content

Commit 7fe2e4a

Browse files
update (#8)
* update + cleanup * bunch of stuff
1 parent 7fefe01 commit 7fe2e4a

40 files changed

Lines changed: 2163 additions & 1779 deletions

dependencies.gradle

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11

22
dependencies {
3-
runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.7.88-GTNH:dev")
4-
runtimeOnlyNonPublishable("com.github.GTNewHorizons:EnderIO:2.9.22:dev")
3+
runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.26-GTNH:dev")
4+
runtimeOnlyNonPublishable("com.github.GTNewHorizons:EnderIO:2.10.3:dev")
55
runtimeOnlyNonPublishable("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
6-
runtimeOnlyNonPublishable("com.github.GTNewHorizons:waila:1.8.14:dev")
6+
runtimeOnlyNonPublishable("com.github.GTNewHorizons:waila:1.9.7:dev")
77

88
shadowImplementation("com.google.protobuf:protobuf-java:4.28.2")
99

1010
api("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
11-
api('com.github.GTNewHorizons:GT5-Unofficial:5.09.51.459:dev')
12-
api("com.github.GTNewHorizons:ModularUI:1.2.20:dev")
13-
api('com.github.GTNewHorizons:GTNHLib:0.6.39:dev')
14-
implementation("com.github.GTNewHorizons:StructureLib:1.4.23:dev")
11+
api('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.85:dev')
12+
api("com.github.GTNewHorizons:ModularUI:1.3.0:dev")
13+
api('com.github.GTNewHorizons:GTNHLib:0.7.3:dev')
14+
implementation("com.github.GTNewHorizons:StructureLib:1.4.24:dev")
1515

1616
compileOnly('org.projectlombok:lombok:1.18.34')
1717
annotationProcessor('org.projectlombok:lombok:1.18.34')
1818

19-
implementation('com.github.GTNewHorizons:Angelica:1.0.0-beta56:dev')
19+
implementation('com.github.GTNewHorizons:Angelica:1.0.0-beta63:dev')
2020
implementation(rfg.deobf("curse.maven:spark-361579:4271867"))
2121
}
2222

@@ -25,7 +25,7 @@ project.getConfigurations().configureEach(c -> {
2525
final DependencySubstitutions ds = c.getResolutionStrategy().getDependencySubstitution()
2626

2727
ds.substitute(ds.module("com.github.GTNewHorizons:Baubles"))
28-
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.1.15-GTNH"))
28+
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH"))
2929
.withClassifier("dev")
3030
.because("Baubles-Expanded replaces Baubles")
3131
})

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ apiPackage =
7474
accessTransformersFile =
7575

7676
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
77-
usesMixins = false
77+
usesMixins = true
7878

7979
# Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main.
8080
# This can speed up compile times thanks to not running the mixin annotation processor on all input sources.
@@ -88,12 +88,12 @@ usesMixinDebug = false
8888
mixinPlugin =
8989

9090
# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
91-
mixinsPackage =
91+
mixinsPackage = mixins
9292

9393
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
9494
# This parameter is for legacy compatibility only
9595
# Example value: (coreModClass = asm.FMLPlugin) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.asm.FMLPlugin
96-
coreModClass =
96+
coreModClass = NHCoremod
9797

9898
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class
9999
# that is annotated with @Mod) you want this to be true. When in doubt: leave it on false!
@@ -142,7 +142,7 @@ modrinthProjectId =
142142
# type can be one of [project, version],
143143
# and the name is the Modrinth project or version slug/id of the other mod.
144144
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
145-
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
145+
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
146146
modrinthRelations =
147147

148148
# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.

scripts/extract_materials.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
gtStyle=[
1010
("src/main/java/gregtech/api/enums/Materials.java", r"public static Materials (\w+);"),
11-
("src/main/java/gregtech/api/enums/MaterialsKevlar.java", r"public static Materials (\w+) ="),
12-
("src/main/java/gregtech/api/enums/MaterialsUEVplus.java", r"public static Materials (\w+) =")
1311
]
1412

1513
bwStyle=[
@@ -38,8 +36,6 @@
3836
"import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical;",
3937
"import goodgenerator.items.GGMaterial;",
4038
"import gregtech.api.enums.Materials;",
41-
"import gregtech.api.enums.MaterialsKevlar;",
42-
"import gregtech.api.enums.MaterialsUEVplus;",
4339
"import gtPlusPlus.core.material.MaterialMisc;",
4440
"import gtPlusPlus.core.material.MaterialsAlloy;",
4541
"import gtPlusPlus.core.material.MaterialsElements;",

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ pluginManagement {
1717
}
1818

1919
plugins {
20-
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.38'
20+
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.42'
2121
}

src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.recursive_pineapple.nuclear_horizons.reactors.blocks.BlockList;
55
import com.recursive_pineapple.nuclear_horizons.reactors.fluids.FluidList;
66
import com.recursive_pineapple.nuclear_horizons.reactors.items.ForeignItems;
7-
import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList;
7+
import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList;
88
import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical;
99
import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear;
1010
import com.recursive_pineapple.nuclear_horizons.reactors.tile.simulator.SimulationItems;
@@ -28,7 +28,7 @@ public void preInit(FMLPreInitializationEvent event) {
2828

2929
Config.synchronizeConfiguration(event.getSuggestedConfigurationFile());
3030

31-
ItemList.registerItems();
31+
NHItemList.registerItems();
3232
BlockList.registerBlocks();
3333
FluidList.registerFluids();
3434

@@ -52,9 +52,11 @@ public void postInit(FMLPostInitializationEvent event) {
5252

5353
ReprocessingRecipes.registerRecipes();
5454
FuelProcessingRecipes.registerRecipes();
55+
ChemicalRecipes.registerRecipes();
5556
CoolantRecipes.registerRecipes();
5657
FuelRodRecipes.registerRecipes();
5758
ComponentRecipes.registerRecipes();
59+
MiscRecipes.registerRecipes();
5860
}
5961

6062
// register server commands in this event handler (Remove if not needed)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.recursive_pineapple.nuclear_horizons;
2+
3+
import java.util.List;
4+
import java.util.Map;
5+
import java.util.Set;
6+
7+
import com.gtnewhorizon.gtnhmixins.IEarlyMixinLoader;
8+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
9+
import com.recursive_pineapple.nuclear_horizons.mixins.Mixins;
10+
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
11+
12+
public class NHCoremod implements IFMLLoadingPlugin, IEarlyMixinLoader {
13+
14+
@Override
15+
public String[] getASMTransformerClass() {
16+
return new String[0];
17+
}
18+
19+
@Override
20+
public String getModContainerClass() {
21+
return null;
22+
}
23+
24+
@Override
25+
public String getSetupClass() {
26+
return null;
27+
}
28+
29+
@Override
30+
public void injectData(Map<String, Object> data) {
31+
32+
}
33+
34+
@Override
35+
public String getAccessTransformerClass() {
36+
return null;
37+
}
38+
39+
@Override
40+
public String getMixinConfig() {
41+
return "mixins.nuclear_horizons.early.json";
42+
}
43+
44+
@Override
45+
public List<String> getMixins(Set<String> loadedCoreMods) {
46+
return IMixins.getEarlyMixins(Mixins.class, loadedCoreMods);
47+
}
48+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.recursive_pineapple.nuclear_horizons.mixins;
2+
3+
import java.util.List;
4+
import java.util.Set;
5+
6+
import org.jetbrains.annotations.NotNull;
7+
8+
import com.gtnewhorizon.gtnhmixins.ILateMixinLoader;
9+
import com.gtnewhorizon.gtnhmixins.LateMixin;
10+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
11+
12+
@LateMixin
13+
public class LateMixinPlugin implements ILateMixinLoader {
14+
15+
@Override
16+
public String getMixinConfig() {
17+
return "mixins.nuclear_horizons.late.json";
18+
}
19+
20+
@Override
21+
public @NotNull List<String> getMixins(Set<String> loadedMods) {
22+
return IMixins.getLateMixins(Mixins.class, loadedMods);
23+
}
24+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.recursive_pineapple.nuclear_horizons.mixins;
2+
3+
import org.jetbrains.annotations.NotNull;
4+
5+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
6+
import com.gtnewhorizon.gtnhmixins.builders.MixinBuilder;
7+
import com.recursive_pineapple.nuclear_horizons.utils.Mods;
8+
9+
public enum Mixins implements IMixins {
10+
11+
// IC2_REACTOR_IFACE_INJECTION(
12+
// new MixinBuilder("Implements interfaces on IC2 reactors")
13+
// .addCommonMixins("ic2.MixinReactor", "ic2.MixinReactorChamber")
14+
// .addRequiredMod(Mods.IndustrialCraft2)
15+
// .setPhase(Phase.LATE))
16+
17+
;
18+
19+
private final MixinBuilder builder;
20+
21+
Mixins(MixinBuilder builder) {
22+
this.builder = builder;
23+
}
24+
25+
@Override
26+
public @NotNull MixinBuilder getBuilder() {
27+
return builder;
28+
}
29+
}
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2;
2+
3+
import net.minecraft.item.ItemStack;
4+
5+
import org.jetbrains.annotations.Nullable;
6+
import org.spongepowered.asm.mixin.Final;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.Shadow;
9+
10+
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter;
11+
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
12+
import ic2.core.block.invslot.InvSlotReactor;
13+
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
14+
15+
@Mixin(value = TileEntityNuclearReactorElectric.class, remap = false)
16+
public abstract class MixinReactor implements IReactorGrid {
17+
18+
@Shadow
19+
@Final
20+
public InvSlotReactor reactorSlot;
21+
22+
@Shadow
23+
private boolean fluidcoolreactor;
24+
25+
@Shadow
26+
public abstract short getReactorSize();
27+
28+
@Shadow
29+
public abstract boolean produceEnergy();
30+
31+
@Shadow
32+
public abstract int getHeat();
33+
@Shadow
34+
public abstract void setHeat(int heat);
35+
@Shadow
36+
public abstract int addHeat(int delta);
37+
38+
@Shadow
39+
public abstract void addEmitHeat(int heat);
40+
41+
@Shadow
42+
public abstract int getMaxHeat();
43+
44+
@Shadow
45+
public abstract float addOutput(float energy);
46+
47+
@Override
48+
public int getWidth() {
49+
return getReactorSize();
50+
}
51+
52+
@Override
53+
public int getHeight() {
54+
return 6;
55+
}
56+
57+
@Override
58+
public @Nullable IComponentAdapter getComponent(int x, int y) {
59+
throw new UnsupportedOperationException();
60+
}
61+
62+
@Override
63+
public @Nullable ItemStack getItem(int x, int y) {
64+
return reactorSlot.get(x, y);
65+
}
66+
67+
@Override
68+
public void setItem(int x, int y, @Nullable ItemStack item) {
69+
reactorSlot.put(x, y, item);
70+
}
71+
72+
@Override
73+
public boolean isActive() {
74+
return produceEnergy();
75+
}
76+
77+
@Override
78+
public int getHullHeat() {
79+
return getHeat();
80+
}
81+
82+
@Override
83+
public int getMaxHullHeat() {
84+
return getMaxHeat();
85+
}
86+
87+
@Override
88+
public void setHullHeat(int newHeat) {
89+
setHeat(newHeat);
90+
}
91+
92+
@Override
93+
public void addHullHeat(int delta) {
94+
addHeat(delta);
95+
}
96+
97+
@Override
98+
public int addAirHeat(int delta) {
99+
addEmitHeat(delta);
100+
return 0;
101+
}
102+
103+
@Override
104+
public void addEU(double eu) {
105+
addOutput((float) eu);
106+
}
107+
108+
@Override
109+
public boolean isFluid() {
110+
return fluidcoolreactor;
111+
}
112+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2;
2+
3+
import javax.annotation.Nullable;
4+
5+
import net.minecraft.block.Block;
6+
import net.minecraft.tileentity.TileEntity;
7+
8+
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.SoftOverride;
10+
11+
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
12+
import com.recursive_pineapple.nuclear_horizons.reactors.tile.IReactorBlock;
13+
import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore;
14+
import ic2.api.Direction;
15+
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
16+
import ic2.core.block.reactor.tileentity.TileEntityReactorChamberElectric;
17+
18+
@Mixin(TileEntityReactorChamberElectric.class)
19+
public abstract class MixinReactorChamber extends TileEntity {
20+
21+
// public @Nullable IReactorGrid getReactor() {
22+
// for(Direction value : Direction.directions) {
23+
// TileEntity te = value.applyToTileEntity(this);
24+
// if (te instanceof TileEntityNuclearReactorElectric) {
25+
// return (IReactorGrid) (Object) te;
26+
// }
27+
// }
28+
//
29+
// Block blk = this.getBlockType();
30+
// if (blk != null) {
31+
// blk.onNeighborBlockChange(this.worldObj, this.xCoord, this.yCoord, this.zCoord, blk);
32+
// }
33+
//
34+
// return null;
35+
// }
36+
//
37+
// @Override
38+
// public void setReactor(TileReactorCore reactor) {
39+
// throw new UnsupportedOperationException();
40+
// }
41+
}

0 commit comments

Comments
 (0)