Skip to content

Commit 8e7793a

Browse files
author
Circulate233
committed
咀叶花的工作速度翻倍(8树叶/t),但是停工时间提升至120秒
粘球草的的产能提高50% 启命英的上限调整至50万,结算时的年龄魔力收益提高到2倍,细胞允许最高200的年龄上限 热爆花每个TNT提供的魔力修改至1600,如果产能时内部有魔力,将摧毁自己 所有的花都不被视为被动产能花
1 parent b323f2f commit 8e7793a

15 files changed

+342
-36
lines changed

build.gradle.kts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ plugins {
1313

1414
// Project properties
1515
group = "github.kasuminova.novaeng"
16-
version = "1.22.5"
16+
version = "1.22.6"
1717

1818
// Set the toolchain version to decouple the Java we run Gradle with from the Java used to compile and run the mod
1919
java {
@@ -250,7 +250,7 @@ dependencies {
250250
implementation(rfg.deobf("curse.maven:botania-225643:3330934"))
251251
implementation(rfg.deobf("curse.maven:astral-sorcery-241721:3044416"))
252252
implementation(rfg.deobf("curse.maven:baubles-227083:2518667"))
253-
implementation(rfg.deobf("curse.maven:zenutil-401178:6033519"))
253+
implementation(rfg.deobf("curse.maven:zenutil-401178:6895021"))
254254
compileOnly(rfg.deobf("curse.maven:smooth-font-285742:3944565"))
255255
implementation(rfg.deobf("curse.maven:scalingguis-319656:2716334"))
256256
implementation(rfg.deobf("curse.maven:lolasm-460609:5257348"))
@@ -278,18 +278,15 @@ dependencies {
278278
compileOnly(rfg.deobf("curse.maven:lunatriuscore-225605:2489549"))
279279
compileOnly(rfg.deobf("curse.maven:immersive-engineering-231951:2974106"))
280280
compileOnly(rfg.deobf("curse.maven:ingame-info-xml-225604:2489566"))
281-
compileOnly(rfg.deobf("curse.maven:unidict-244258:3553627"))
282281
compileOnly(rfg.deobf("curse.maven:wanionlib-253043:4623135"))
283282
compileOnly(rfg.deobf("curse.maven:dme-737252:5043404"))
284283
// Performance Test Tool
285284
runtimeOnly(rfg.deobf("curse.maven:spark-361579:3245793"))
286285
// Optimization
287286
implementation(rfg.deobf("curse.maven:stellarcore-1064321:5952608"))
288287
implementation(rfg.deobf("curse.maven:configanytime-870276:5212709"))
289-
implementation(rfg.deobf("curse.maven:LibVulpes-236541:3801015"))
290288
implementation(rfg.deobf("curse.maven:AutoRegLib-250363:2746011"))
291289
implementation(rfg.deobf("curse.maven:Cucumber-272335:2645867"))
292-
implementation(rfg.deobf("curse.maven:LibVulpes-236541:3801015"))
293290
implementation(rfg.deobf("curse.maven:extended-crafting-nomifactory-edition-398267:5778512"))
294291
implementation(rfg.deobf("curse.maven:techguns-244201:2958103"))
295292
implementation(rfg.deobf("curse.maven:legendary-tooltips-532127:5734973"))
@@ -300,6 +297,8 @@ dependencies {
300297
implementation(rfg.deobf("curse.maven:BloodMagic-224791:2822288"))
301298
implementation(rfg.deobf("curse.maven:dme-737252:5985530"))
302299
implementation(rfg.deobf("curse.maven:packagedauto-308380:6312996"))
300+
compileOnly(rfg.deobf("curse.maven:libvulpes-236541:3801015"))
301+
compileOnly(rfg.deobf("curse.maven:advanced-rocketry-236542:4671856"))
303302
implementation(kotlin("stdlib-jdk8"))
304303
}
305304

src/main/java/github/kasuminova/novaeng/client/ClientProxy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void init() {
9696

9797
TitleUtils.setRandomTitle("*Init*");
9898

99-
if (Loader.isModLoaded("ic2")) {
99+
if (Loader.isModLoaded("ic2") && Loader.isModLoaded("randomtweaker")) {
100100
ExJEI.jeiCreate();
101101
}
102102
}
@@ -110,7 +110,7 @@ public void postInit() {
110110

111111
TitleUtils.setRandomTitle("*PostInit*");
112112

113-
if (Loader.isModLoaded("ic2")) {
113+
if (Loader.isModLoaded("ic2") && Loader.isModLoaded("randomtweaker")) {
114114
ExJEI.jeiRecipeRegister();
115115
}
116116

src/main/java/github/kasuminova/novaeng/common/CommonProxy.java

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import github.kasuminova.mmce.common.integration.ModIntegrationAE2;
66
import github.kasuminova.novaeng.NovaEngineeringCore;
77
import github.kasuminova.novaeng.common.adapter.RecipeAdapterExtended;
8+
import github.kasuminova.novaeng.common.config.NovaEngCoreConfig;
89
import github.kasuminova.novaeng.common.container.ContainerECalculatorController;
910
import github.kasuminova.novaeng.common.container.ContainerEFabricatorController;
1011
import github.kasuminova.novaeng.common.container.ContainerEFabricatorPatternBus;
@@ -117,35 +118,37 @@ public void init() {
117118
RecipeAdapterExtended.registerAdapter();
118119
AssemblyLine.registerNetNode();
119120
HyperNetRecipeManager.registerRecipes();
120-
if (Mods.ASTRAL_SORCERY.isPresent() && Mods.BOTANIA.isPresent()) {
121-
RegistryMachineSpecial.registrySpecialMachine(IllumPool.INSTANCE);
122-
}
123-
if (Mods.GECKOLIB.isPresent()) {
124-
RegistryMachineSpecial.registrySpecialMachine(SingularityCore.INSTANCE);
125-
}
126-
if (Mods.BM2.isPresent()) {
127-
RegistryMachineSpecial.registrySpecialMachine(MMAltar.INSTANCE);
128-
}
129-
RegistryMachineSpecial.registrySpecialMachine(DreamEnergyCore.INSTANCE);
130-
RegistryMachineSpecial.registrySpecialMachine(GeocentricDrill.INSTANCE);
131-
if (Loader.isModLoaded("deepmoblearning")) {
132-
RegistryMachineSpecial.registrySpecialMachine(MaterialSequenceProcessing.INSTANCE);
133-
RegistryMachineSpecial.registrySpecialMachine(BiogenicSimulationComputer.INSTANCE);
134-
}
135-
if (Loader.isModLoaded("avaritia")){
136-
RegistryMachineSpecial.registrySpecialMachine(SpaceGenerator.INSTANCE);
121+
if (NovaEngCoreConfig.SERVER.SpecialMachine) {
122+
if (Mods.ASTRAL_SORCERY.isPresent() && Mods.BOTANIA.isPresent()) {
123+
RegistryMachineSpecial.registrySpecialMachine(IllumPool.INSTANCE);
124+
}
125+
if (Mods.GECKOLIB.isPresent()) {
126+
RegistryMachineSpecial.registrySpecialMachine(SingularityCore.INSTANCE);
127+
}
128+
if (Mods.BM2.isPresent()) {
129+
RegistryMachineSpecial.registrySpecialMachine(MMAltar.INSTANCE);
130+
}
131+
RegistryMachineSpecial.registrySpecialMachine(DreamEnergyCore.INSTANCE);
132+
RegistryMachineSpecial.registrySpecialMachine(GeocentricDrill.INSTANCE);
133+
if (Loader.isModLoaded("deepmoblearning")) {
134+
RegistryMachineSpecial.registrySpecialMachine(MaterialSequenceProcessing.INSTANCE);
135+
RegistryMachineSpecial.registrySpecialMachine(BiogenicSimulationComputer.INSTANCE);
136+
}
137+
if (Loader.isModLoaded("avaritia")) {
138+
RegistryMachineSpecial.registrySpecialMachine(SpaceGenerator.INSTANCE);
139+
}
140+
if (Loader.isModLoaded("immersiveengineering")) {
141+
RegistryMachineSpecial.registrySpecialMachine(MineralExtractor.INSTANCE);
142+
RegistryMachineSpecial.registrySpecialMachine(VoidMiner.INSTANCE);
143+
RegistryMachineSpecial.registrySpecialMachine(DifferentWorld.INSTANCE);
144+
RegistryMachineSpecial.registrySpecialMachine(ManaOreDrill.INSTANCE);
145+
RegistryMachineSpecial.registrySpecialMachine(OrichalcosDrill.INSTANCE);
146+
}
137147
}
138148
if (Mods.AE2.isPresent()) {
139149
List<ICellHandler> handlers = ((AccessorCellRegistry) (AEApi.instance().registries().cell())).getHandlers();
140150
handlers.add(0, EStorageCellHandler.INSTANCE);
141151
}
142-
if (Loader.isModLoaded("immersiveengineering")){
143-
RegistryMachineSpecial.registrySpecialMachine(MineralExtractor.INSTANCE);
144-
RegistryMachineSpecial.registrySpecialMachine(VoidMiner.INSTANCE);
145-
RegistryMachineSpecial.registrySpecialMachine(DifferentWorld.INSTANCE);
146-
RegistryMachineSpecial.registrySpecialMachine(ManaOreDrill.INSTANCE);
147-
RegistryMachineSpecial.registrySpecialMachine(OrichalcosDrill.INSTANCE);
148-
}
149152
Register.TRAITREGISTER.registerModifiers();
150153
}
151154

src/main/java/github/kasuminova/novaeng/common/config/NovaEngCoreConfig.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ public static class Server{
4040
@Config.Name("ForceChunkHandler")
4141
public boolean ForceChunkHandler = true;
4242

43+
44+
@Config.RequiresMcRestart
45+
@Config.Name("SpecialMachine")
46+
public boolean SpecialMachine = true;
47+
48+
@Config.RequiresMcRestart
49+
@Config.Name("bot")
50+
public boolean bot = true;
51+
4352
}
4453

4554
/*

src/main/java/github/kasuminova/novaeng/common/crafttweaker/hypernet/HyperNetHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import hellfirepvp.modularmachinery.common.machine.DynamicMachine;
1616
import hellfirepvp.modularmachinery.common.machine.MachineRegistry;
1717
import hellfirepvp.modularmachinery.common.tiles.base.TileMultiblockMachineController;
18+
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
1819
import net.minecraft.client.resources.I18n;
1920
import net.minecraft.item.ItemStack;
2021
import net.minecraft.nbt.NBTTagCompound;
@@ -26,7 +27,6 @@
2627
import stanhebben.zenscript.annotations.ZenClass;
2728
import stanhebben.zenscript.annotations.ZenMethod;
2829

29-
import java.util.ArrayList;
3030
import java.util.List;
3131
import java.util.UUID;
3232

@@ -71,7 +71,7 @@ public static <T extends NetNodeImpl> void addControllerGUIHyperNetInfo(final Dy
7171
node.readNBT();
7272
}
7373

74-
List<String> tips = new ArrayList<>();
74+
List<String> tips = new ObjectArrayList<>();
7575
tips.add(I18n.format("gui.hypernet.controller.title"));
7676

7777
if (node.isConnected()) {

src/main/java/github/kasuminova/novaeng/common/mod/Mods.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ public boolean loaded() {
4343
return loaded = false;
4444
}
4545
}
46-
},
47-
UNIDICT("unidict"),
48-
;
46+
};
4947

5048
protected final String modID;
5149
protected boolean loaded = false;

src/main/java/github/kasuminova/novaeng/mixin/NovaEngCoreLateMixinLoader.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package github.kasuminova.novaeng.mixin;
22

3+
import github.kasuminova.novaeng.common.config.NovaEngCoreConfig;
34
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
45
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
6+
import net.minecraftforge.common.config.Config;
7+
import net.minecraftforge.common.config.ConfigManager;
58
import net.minecraftforge.fml.common.Loader;
69
import zone.rong.mixinbooter.ILateMixinLoader;
710

@@ -10,6 +13,7 @@
1013
import java.util.Map;
1114
import java.util.function.BooleanSupplier;
1215

16+
import static github.kasuminova.novaeng.NovaEngineeringCore.MOD_ID;
1317
import static github.kasuminova.novaeng.mixin.NovaEngCoreEarlyMixinLoader.LOG;
1418
import static github.kasuminova.novaeng.mixin.NovaEngCoreEarlyMixinLoader.LOG_PREFIX;
1519

@@ -45,6 +49,12 @@ public class NovaEngCoreLateMixinLoader implements ILateMixinLoader {
4549
addModdedMixinCFG("mixins.novaeng_core_extrabotany.json","extrabotany");
4650
addModdedMixinCFG("mixins.novaeng_core_packagedauto.json","packagedauto");
4751
addModdedMixinCFG("mixins.novaeng_core_rftools.json","rftools");
52+
addModdedMixinCFG("mixins.novaeng_core_advancedrocketry.json","advancedrocketry");
53+
54+
addMixinCFG("mixins.novaeng_core_botania_r.json",() -> {
55+
ConfigManager.sync(MOD_ID, Config.Type.INSTANCE);
56+
return modLoaded("botania") && NovaEngCoreConfig.SERVER.bot;
57+
});
4858

4959
addMixinCFG("mixins.novaeng_core_forge_late.json");
5060
addMixinCFG("mixins.novaeng_core_dme.json",
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
package github.kasuminova.novaeng.mixin.ar;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.Overwrite;
5+
import org.spongepowered.asm.mixin.Shadow;
6+
import zmaster587.advancedRocketry.api.dimension.solar.StellarBody;
7+
import zmaster587.advancedRocketry.dimension.DimensionProperties;
8+
import zmaster587.advancedRocketry.util.AstronomicalBodyHelper;
9+
10+
@Mixin(value = DimensionProperties.class,remap = false)
11+
public abstract class MixinDimensionProperties {
12+
13+
@Shadow
14+
public int averageTemperature;
15+
16+
@Shadow
17+
public abstract StellarBody getStar();
18+
19+
@Shadow
20+
public abstract int getSolarOrbitalDistance();
21+
22+
@Shadow
23+
public abstract int getAtmosphereDensity();
24+
25+
@Shadow
26+
public double prevOrbitalTheta;
27+
28+
@Shadow
29+
public double orbitTheta;
30+
31+
@Shadow
32+
public abstract boolean isMoon();
33+
34+
@Shadow
35+
public int orbitalDist;
36+
37+
@Shadow
38+
public abstract DimensionProperties getParentProperties();
39+
40+
@Shadow
41+
public double baseOrbitTheta;
42+
43+
@Shadow
44+
public boolean isRetrograde;
45+
46+
@Shadow public float[] fogColor;
47+
48+
/**
49+
* @author c
50+
* @reason fix
51+
*/
52+
@Overwrite
53+
public int getAverageTemp() {
54+
var star = this.getStar();
55+
if (star != null)
56+
this.averageTemperature = AstronomicalBodyHelper.getAverageTemperature(star, this.getSolarOrbitalDistance(), this.getAtmosphereDensity());
57+
else
58+
this.averageTemperature = 100;
59+
return this.averageTemperature;
60+
}
61+
62+
/**
63+
* @author c
64+
* @reason fix
65+
*/
66+
@Overwrite
67+
public void updateOrbit() {
68+
this.prevOrbitalTheta = this.orbitTheta;
69+
if (this.isMoon()) {
70+
this.orbitTheta = (AstronomicalBodyHelper.getMoonOrbitalTheta(this.orbitalDist, this.getParentProperties().gravitationalMultiplier) + this.baseOrbitTheta) * (double) (this.isRetrograde ? -1 : 1);
71+
} else if (!this.isMoon()) {
72+
var star = this.getStar();
73+
this.orbitTheta = (AstronomicalBodyHelper.getOrbitalTheta(this.orbitalDist, star != null ? this.getStar().getSize() : 1.0f) + this.baseOrbitTheta) * (double) (this.isRetrograde ? -1 : 1);
74+
}
75+
76+
}
77+
78+
/**
79+
* @author c
80+
* @reason fix
81+
*/
82+
@Overwrite
83+
public float[] getSunColor() {
84+
var star = this.getStar();
85+
return star == null ? star.getColor() : new float[]{1.0F, 1.0F, 1.0F};
86+
}
87+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package github.kasuminova.novaeng.mixin.botania_r;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.injection.At;
5+
import org.spongepowered.asm.mixin.injection.Inject;
6+
import org.spongepowered.asm.mixin.injection.Redirect;
7+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
8+
import vazkii.botania.common.block.subtile.generating.SubTileDandelifeon;
9+
10+
@Mixin(value = SubTileDandelifeon.class,remap = false)
11+
public class MixinSubTileDandelifeon {
12+
13+
@Redirect(method = "setBlockForGeneration",at = @At(value = "INVOKE", target = "Ljava/lang/Math;min(II)I"))
14+
public int setBlockForGeneration(int a, int b) {
15+
return Math.min(200,b) * 2;
16+
}
17+
18+
@Inject(method = "getMaxMana",at = @At("HEAD"), cancellable = true)
19+
public void getMaxMana(CallbackInfoReturnable<Integer> cir) {
20+
cir.setReturnValue(500000);
21+
}
22+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package github.kasuminova.novaeng.mixin.botania_r;
2+
3+
import net.minecraft.entity.item.EntityTNTPrimed;
4+
import net.minecraft.util.math.AxisAlignedBB;
5+
import net.minecraft.util.math.BlockPos;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
11+
import vazkii.botania.api.subtile.SubTileGenerating;
12+
import vazkii.botania.common.block.subtile.generating.SubTileEntropinnyum;
13+
14+
@Mixin(value = SubTileEntropinnyum.class,remap = false)
15+
public class MixinSubTileEntropinnyum extends SubTileGenerating {
16+
17+
@Inject(method = "getMaxMana",at = @At("HEAD"), cancellable = true)
18+
public void getMaxManaI(CallbackInfoReturnable<Integer> cir){
19+
cir.setReturnValue(1200);
20+
}
21+
22+
@Inject(method = "onUpdate",at = @At(value = "INVOKE", target = "Lvazkii/botania/api/subtile/SubTileGenerating;onUpdate()V",shift = At.Shift.AFTER), cancellable = true)
23+
public void onUpdateI(CallbackInfo ci) {
24+
if (!this.supertile.getWorld().isRemote && this.mana != 0) {
25+
for (EntityTNTPrimed tnt : this.supertile.getWorld().getEntitiesWithinAABB(EntityTNTPrimed.class, new AxisAlignedBB(this.supertile.getPos().add(-12, -12, -12), this.supertile.getPos().add(13, 13, 13)))) {
26+
if (tnt.getFuse() == 1 && !tnt.isDead && !this.supertile.getWorld().getBlockState(new BlockPos(tnt)).getMaterial().isLiquid()) {
27+
this.getWorld().setBlockToAir(this.getPos());
28+
ci.cancel();
29+
}
30+
}
31+
}
32+
}
33+
}

0 commit comments

Comments
 (0)