Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 9 additions & 9 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@

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

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

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

compileOnly('org.projectlombok:lombok:1.18.34')
annotationProcessor('org.projectlombok:lombok:1.18.34')

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

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

ds.substitute(ds.module("com.github.GTNewHorizons:Baubles"))
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.1.15-GTNH"))
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH"))
.withClassifier("dev")
.because("Baubles-Expanded replaces Baubles")
})
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ apiPackage =
accessTransformersFile =

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

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

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

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

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

# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.
Expand Down
4 changes: 0 additions & 4 deletions scripts/extract_materials.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

gtStyle=[
("src/main/java/gregtech/api/enums/Materials.java", r"public static Materials (\w+);"),
("src/main/java/gregtech/api/enums/MaterialsKevlar.java", r"public static Materials (\w+) ="),
("src/main/java/gregtech/api/enums/MaterialsUEVplus.java", r"public static Materials (\w+) =")
]

bwStyle=[
Expand Down Expand Up @@ -38,8 +36,6 @@
"import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical;",
"import goodgenerator.items.GGMaterial;",
"import gregtech.api.enums.Materials;",
"import gregtech.api.enums.MaterialsKevlar;",
"import gregtech.api.enums.MaterialsUEVplus;",
"import gtPlusPlus.core.material.MaterialMisc;",
"import gtPlusPlus.core.material.MaterialsAlloy;",
"import gtPlusPlus.core.material.MaterialsElements;",
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ pluginManagement {
}

plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.38'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.42'
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.recursive_pineapple.nuclear_horizons.reactors.blocks.BlockList;
import com.recursive_pineapple.nuclear_horizons.reactors.fluids.FluidList;
import com.recursive_pineapple.nuclear_horizons.reactors.items.ForeignItems;
import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList;
import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList;
import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical;
import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear;
import com.recursive_pineapple.nuclear_horizons.reactors.tile.simulator.SimulationItems;
Expand All @@ -28,7 +28,7 @@ public void preInit(FMLPreInitializationEvent event) {

Config.synchronizeConfiguration(event.getSuggestedConfigurationFile());

ItemList.registerItems();
NHItemList.registerItems();
BlockList.registerBlocks();
FluidList.registerFluids();

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

ReprocessingRecipes.registerRecipes();
FuelProcessingRecipes.registerRecipes();
ChemicalRecipes.registerRecipes();
CoolantRecipes.registerRecipes();
FuelRodRecipes.registerRecipes();
ComponentRecipes.registerRecipes();
MiscRecipes.registerRecipes();
}

// register server commands in this event handler (Remove if not needed)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.recursive_pineapple.nuclear_horizons;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.gtnewhorizon.gtnhmixins.IEarlyMixinLoader;
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
import com.recursive_pineapple.nuclear_horizons.mixins.Mixins;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;

public class NHCoremod implements IFMLLoadingPlugin, IEarlyMixinLoader {

@Override
public String[] getASMTransformerClass() {
return new String[0];
}

@Override
public String getModContainerClass() {
return null;
}

@Override
public String getSetupClass() {
return null;
}

@Override
public void injectData(Map<String, Object> data) {

}

@Override
public String getAccessTransformerClass() {
return null;
}

@Override
public String getMixinConfig() {
return "mixins.nuclear_horizons.early.json";
}

@Override
public List<String> getMixins(Set<String> loadedCoreMods) {
return IMixins.getEarlyMixins(Mixins.class, loadedCoreMods);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.recursive_pineapple.nuclear_horizons.mixins;

import java.util.List;
import java.util.Set;

import org.jetbrains.annotations.NotNull;

import com.gtnewhorizon.gtnhmixins.ILateMixinLoader;
import com.gtnewhorizon.gtnhmixins.LateMixin;
import com.gtnewhorizon.gtnhmixins.builders.IMixins;

@LateMixin
public class LateMixinPlugin implements ILateMixinLoader {

@Override
public String getMixinConfig() {
return "mixins.nuclear_horizons.late.json";
}

@Override
public @NotNull List<String> getMixins(Set<String> loadedMods) {
return IMixins.getLateMixins(Mixins.class, loadedMods);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.recursive_pineapple.nuclear_horizons.mixins;

import org.jetbrains.annotations.NotNull;

import com.gtnewhorizon.gtnhmixins.builders.IMixins;
import com.gtnewhorizon.gtnhmixins.builders.MixinBuilder;
import com.recursive_pineapple.nuclear_horizons.utils.Mods;

public enum Mixins implements IMixins {

// IC2_REACTOR_IFACE_INJECTION(
// new MixinBuilder("Implements interfaces on IC2 reactors")
// .addCommonMixins("ic2.MixinReactor", "ic2.MixinReactorChamber")
// .addRequiredMod(Mods.IndustrialCraft2)
// .setPhase(Phase.LATE))

;

private final MixinBuilder builder;

Mixins(MixinBuilder builder) {
this.builder = builder;
}

@Override
public @NotNull MixinBuilder getBuilder() {
return builder;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2;

import net.minecraft.item.ItemStack;

import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter;
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
import ic2.core.block.invslot.InvSlotReactor;
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;

@Mixin(value = TileEntityNuclearReactorElectric.class, remap = false)
public abstract class MixinReactor implements IReactorGrid {

@Shadow
@Final
public InvSlotReactor reactorSlot;

@Shadow
private boolean fluidcoolreactor;

@Shadow
public abstract short getReactorSize();

@Shadow
public abstract boolean produceEnergy();

@Shadow
public abstract int getHeat();
@Shadow
public abstract void setHeat(int heat);
@Shadow
public abstract int addHeat(int delta);

@Shadow
public abstract void addEmitHeat(int heat);

@Shadow
public abstract int getMaxHeat();

@Shadow
public abstract float addOutput(float energy);

@Override
public int getWidth() {
return getReactorSize();
}

@Override
public int getHeight() {
return 6;
}

@Override
public @Nullable IComponentAdapter getComponent(int x, int y) {
throw new UnsupportedOperationException();
}

@Override
public @Nullable ItemStack getItem(int x, int y) {
return reactorSlot.get(x, y);
}

@Override
public void setItem(int x, int y, @Nullable ItemStack item) {
reactorSlot.put(x, y, item);
}

@Override
public boolean isActive() {
return produceEnergy();
}

@Override
public int getHullHeat() {
return getHeat();
}

@Override
public int getMaxHullHeat() {
return getMaxHeat();
}

@Override
public void setHullHeat(int newHeat) {
setHeat(newHeat);
}

@Override
public void addHullHeat(int delta) {
addHeat(delta);
}

@Override
public int addAirHeat(int delta) {
addEmitHeat(delta);
return 0;
}

@Override
public void addEU(double eu) {
addOutput((float) eu);
}

@Override
public boolean isFluid() {
return fluidcoolreactor;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2;

import javax.annotation.Nullable;

import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.SoftOverride;

import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
import com.recursive_pineapple.nuclear_horizons.reactors.tile.IReactorBlock;
import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore;
import ic2.api.Direction;
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
import ic2.core.block.reactor.tileentity.TileEntityReactorChamberElectric;

@Mixin(TileEntityReactorChamberElectric.class)
public abstract class MixinReactorChamber extends TileEntity {

// public @Nullable IReactorGrid getReactor() {
// for(Direction value : Direction.directions) {
// TileEntity te = value.applyToTileEntity(this);
// if (te instanceof TileEntityNuclearReactorElectric) {
// return (IReactorGrid) (Object) te;
// }
// }
//
// Block blk = this.getBlockType();
// if (blk != null) {
// blk.onNeighborBlockChange(this.worldObj, this.xCoord, this.yCoord, this.zCoord, blk);
// }
//
// return null;
// }
//
// @Override
// public void setReactor(TileReactorCore reactor) {
// throw new UnsupportedOperationException();
// }
}
Loading
Loading