Skip to content

Commit 2dadceb

Browse files
committed
一些处理
1 parent d325c62 commit 2dadceb

File tree

9 files changed

+136
-47
lines changed

9 files changed

+136
-47
lines changed

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,8 @@ dependencies {
303303
implementation(rfg.deobf("curse.maven:packagedauto-308380:6312996"))
304304
compileOnly(rfg.deobf("curse.maven:libvulpes-236541:3801015"))
305305
compileOnly(rfg.deobf("curse.maven:advanced-rocketry-236542:4671856"))
306-
implementation(rfg.deobf("curse.maven:random-complement-1198138:6993204"))
306+
implementation(rfg.deobf("curse.maven:random-complement-1198138:6995821"))
307+
implementation(rfg.deobf("curse.maven:modular-routers-250294:2954953"))
307308
implementation(kotlin("stdlib-jdk8"))
308309
}
309310

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ public Object getClientGuiElement(final int ID, final EntityPlayer player, final
236236
}
237237

238238
public enum GuiType {
239-
240239
HYPERNET_TERMINAL(TileHyperNetTerminal.class),
241240
MODULAR_SERVER_ASSEMBLER(TileModularServerAssembler.class),
242241
ESTORAGE_CONTROLLER(EStorageController.class),

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

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,41 +23,41 @@ public class NovaEngCoreLateMixinLoader implements ILateMixinLoader {
2323
private static final Map<String, BooleanSupplier> MIXIN_CONFIGS = new Object2ObjectLinkedOpenHashMap<>();
2424

2525
static {
26-
addModdedMixinCFG("mixins.novaeng_core_ae2.json", "appliedenergistics2");
27-
addModdedMixinCFG("mixins.novaeng_core_astralsorcery.json", "astralsorcery");
28-
addModdedMixinCFG("mixins.novaeng_core_athenaeum.json", "athenaeum");
29-
addModdedMixinCFG("mixins.novaeng_core_cofhcore.json", "cofhcore");
30-
addModdedMixinCFG("mixins.novaeng_core_draconicevolution.json", "draconicevolution");
31-
addModdedMixinCFG("mixins.novaeng_core_ic2.json", "ic2");
26+
addModdedMixinCFG("mixins.novaeng_core_ae2.json", "appliedenergistics2");
27+
addModdedMixinCFG("mixins.novaeng_core_astralsorcery.json", "astralsorcery");
28+
addModdedMixinCFG("mixins.novaeng_core_athenaeum.json", "athenaeum");
29+
addModdedMixinCFG("mixins.novaeng_core_cofhcore.json", "cofhcore");
30+
addModdedMixinCFG("mixins.novaeng_core_draconicevolution.json", "draconicevolution");
31+
addModdedMixinCFG("mixins.novaeng_core_ic2.json", "ic2");
3232
addModdedMixinCFG("mixins.novaeng_core_immersiveengineering.json", "immersiveengineering");
33-
addModdedMixinCFG("mixins.novaeng_core_mets.json", "mets");
34-
addModdedMixinCFG("mixins.novaeng_core_nae2.json", "nae2");
35-
addModdedMixinCFG("mixins.novaeng_core_botania.json", "botania");
36-
addModdedMixinCFG("mixins.novaeng_core_jetif.json", "jetif");
37-
addModdedMixinCFG("mixins.novaeng_core_opticheck.json", "opticheck");
38-
addModdedMixinCFG("mixins.novaeng_core_electroblobs.json", "ebwizardry");
39-
addModdedMixinCFG("mixins.novaeng_core_psi.json", "psi");
40-
addModdedMixinCFG("mixins.novaeng_core_libvulpes.json", "libvulpes");
41-
addModdedMixinCFG("mixins.novaeng_core_techguns.json", "techguns");
42-
addModdedMixinCFG("mixins.novaeng_core_codechickenlib.json","codechickenlib");
43-
addModdedMixinCFG("mixins.novaeng_core_legendarytooltips.json","legendarytooltips");
44-
addModdedMixinCFG("mixins.novaeng_core_avaritia.json","avaritia");
45-
addModdedMixinCFG("mixins.novaeng_core_betterp2p.json","betterp2p");
46-
addModdedMixinCFG("mixins.novaeng_core_nco.json","nuclearcraft");
47-
addModdedMixinCFG("mixins.novaeng_core_lootoverhaul.json","lootoverhaul");
48-
addModdedMixinCFG("mixins.novaeng_core_fluxnetworks.json","fluxnetworks");
49-
addModdedMixinCFG("mixins.novaeng_core_extrabotany.json","extrabotany");
50-
addModdedMixinCFG("mixins.novaeng_core_packagedauto.json","packagedauto");
51-
addModdedMixinCFG("mixins.novaeng_core_rftools.json","rftools");
52-
addModdedMixinCFG("mixins.novaeng_core_advancedrocketry.json","advancedrocketry");
33+
addModdedMixinCFG("mixins.novaeng_core_mets.json", "mets");
34+
addModdedMixinCFG("mixins.novaeng_core_nae2.json", "nae2");
35+
addModdedMixinCFG("mixins.novaeng_core_botania.json", "botania", "psi");
36+
addModdedMixinCFG("mixins.novaeng_core_jetif.json", "jetif");
37+
addModdedMixinCFG("mixins.novaeng_core_opticheck.json", "opticheck");
38+
addModdedMixinCFG("mixins.novaeng_core_electroblobs.json", "ebwizardry");
39+
addModdedMixinCFG("mixins.novaeng_core_psi.json", "psi");
40+
addModdedMixinCFG("mixins.novaeng_core_libvulpes.json", "libvulpes");
41+
addModdedMixinCFG("mixins.novaeng_core_techguns.json", "techguns");
42+
addModdedMixinCFG("mixins.novaeng_core_codechickenlib.json", "codechickenlib");
43+
addModdedMixinCFG("mixins.novaeng_core_legendarytooltips.json", "legendarytooltips");
44+
addModdedMixinCFG("mixins.novaeng_core_avaritia.json", "avaritia");
45+
addModdedMixinCFG("mixins.novaeng_core_betterp2p.json", "betterp2p");
46+
addModdedMixinCFG("mixins.novaeng_core_nco.json", "nuclearcraft");
47+
addModdedMixinCFG("mixins.novaeng_core_lootoverhaul.json", "lootoverhaul");
48+
addModdedMixinCFG("mixins.novaeng_core_fluxnetworks.json", "fluxnetworks");
49+
addModdedMixinCFG("mixins.novaeng_core_extrabotany.json", "extrabotany");
50+
addModdedMixinCFG("mixins.novaeng_core_packagedauto.json", "packagedauto");
51+
addModdedMixinCFG("mixins.novaeng_core_rftools.json", "rftools");
52+
addModdedMixinCFG("mixins.novaeng_core_advancedrocketry.json", "advancedrocketry");
5353

54-
addMixinCFG("mixins.novaeng_core_botania_r.json",() -> {
54+
addMixinCFG("mixins.novaeng_core_botania_r.json", () -> {
5555
ConfigManager.sync(MOD_ID, Config.Type.INSTANCE);
5656
return modLoaded("botania") && NovaEngCoreConfig.SERVER.bot;
5757
});
5858

5959
addMixinCFG("mixins.novaeng_core_forge_late.json");
60-
addMixinCFG("mixins.novaeng_core_dme.json",
60+
addMixinCFG("mixins.novaeng_core_dme.json",
6161
() -> Loader.isModLoaded("deepmoblearning") && Loader.instance().getIndexedModList().get("deepmoblearning").getName().equals("DeepMobEvolution"));
6262
}
6363

src/main/java/github/kasuminova/novaeng/mixin/ae2/MixinCraftingCPUClusterTwo.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ public abstract class MixinCraftingCPUClusterTwo {
7272

7373
@Shadow
7474
private int remainingOperations;
75+
7576
@Shadow
7677
private MachineSource machineSrc;
78+
7779
@Shadow
7880
private MECraftingInventory inventory;
7981

@@ -126,14 +128,14 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
126128

127129
while (i.hasNext()) {
128130
Map.Entry<ICraftingPatternDetails, AccessorTaskProgress> e = i.next();
129-
var value = ((AccessorTaskProgress) e.getValue());
131+
val value = ((AccessorTaskProgress) e.getValue());
130132
if (value.getValue() <= 0L) {
131133
i.remove();
132134
} else {
133-
var key = e.getKey();
135+
val key = e.getKey();
134136

135137
long max = 0;
136-
var list = (key.isCraftable() || key instanceof FluidCraftingPatternDetails) ? key.getCondensedOutputs() : key.getCondensedInputs();
138+
val list = (key.isCraftable() || key instanceof FluidCraftingPatternDetails) ? key.getCondensedOutputs() : key.getCondensedInputs();
137139
for (IAEItemStack stack1 : list) {
138140
long size = stack1.getStackSize();
139141
if (size > max) max = size;
@@ -152,7 +154,8 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
152154
}
153155

154156
boolean didPatternCraft;
155-
doWhileCraftingLoop:do {
157+
doWhileCraftingLoop:
158+
do {
156159
InventoryCrafting ic = null;
157160
didPatternCraft = false;
158161

@@ -181,7 +184,7 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
181184
double o = eg.extractAEPower(sum1, Actionable.SIMULATE, PowerMultiplier.CONFIG);
182185
if (o < sum1 - 0.01) {
183186
this.r$craftingFrequency = (long) (o / sum1 * this.r$craftingFrequency);
184-
s = Math.max(1, this.r$craftingFrequency);
187+
s = Math.max(s, this.r$craftingFrequency);
185188
}
186189
}
187190
energy = eg.extractAEPower(sum * s, Actionable.MODULATE, PowerMultiplier.CONFIG);
@@ -301,7 +304,7 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
301304
}
302305

303306
for (IAEItemStack out : outputs) {
304-
var iaeStack = out.copy();
307+
val iaeStack = out.copy();
305308
if (mediumType != MediumType.NULL)
306309
iaeStack.setStackSize(iaeStack.getStackSize() * this.r$craftingFrequency);
307310
r$postProcessing(iaeStack);
@@ -380,7 +383,7 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
380383

381384
for (IAEItemStack input : details.getCondensedInputs()) {
382385
long size = input.getStackSize() * this.r$craftingFrequency;
383-
var item = this.inventory.extractItems(input.copy().setStackSize(size), Actionable.SIMULATE, this.machineSrc);
386+
val item = this.inventory.extractItems(input.copy().setStackSize(size), Actionable.SIMULATE, this.machineSrc);
384387
if (item == null) continue;
385388
if (item.getStackSize() < size) {
386389
this.r$craftingFrequency = Math.max(1, item.getStackSize() / input.getStackSize());
@@ -404,7 +407,7 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
404407
for (IAEItemStack input : details.getInputs()) {
405408
if (input == null) continue;
406409
long size = this.r$craftingFrequency;
407-
var item = this.inventory.extractItems(input.copy().setStackSize(size), Actionable.SIMULATE, this.machineSrc);
410+
val item = this.inventory.extractItems(input.copy().setStackSize(size), Actionable.SIMULATE, this.machineSrc);
408411
if (item == null) continue;
409412
if (item.getStackSize() < size) {
410413
long size0 = item.getStackSize() / input.getStackSize();
@@ -442,25 +445,25 @@ private void executeCrafting(IEnergyGrid eg, CraftingGridCache cc) {
442445
}
443446

444447
@WrapOperation(
445-
method = {"injectItems"},
446-
at = {@At(
448+
method = "injectItems",
449+
at = @At(
447450
value = "INVOKE",
448451
target = "Lappeng/crafting/CraftingLink;injectItems(Lappeng/api/storage/data/IAEItemStack;Lappeng/api/config/Actionable;)Lappeng/api/storage/data/IAEItemStack;"
449-
)}
452+
)
450453
)
451454
protected IAEItemStack wrapInjectItems(CraftingLink link, IAEItemStack item, Actionable actionable, Operation<IAEItemStack> operation) {
452-
return this.r$nae2$ghostInjecting ? null : (IAEItemStack) operation.call(link, item, actionable);
455+
return this.r$nae2$ghostInjecting ? null : operation.call(link, item, actionable);
453456
}
454457

455458
@WrapOperation(
456-
method = {"injectItems"},
457-
at = {@At(
459+
method = "injectItems",
460+
at = @At(
458461
value = "INVOKE",
459462
target = "Lappeng/crafting/MECraftingInventory;injectItems(Lappeng/api/storage/data/IAEItemStack;Lappeng/api/config/Actionable;Lappeng/api/networking/security/IActionSource;)Lappeng/api/storage/data/IAEItemStack;"
460-
)}
463+
)
461464
)
462465
protected IAEItemStack wrapInjectItems(MECraftingInventory link, IAEItemStack item, Actionable actionable, IActionSource source, Operation<IAEItemStack> operation) {
463-
return this.r$nae2$ghostInjecting ? null : (IAEItemStack) operation.call(link, item, actionable, source);
466+
return this.r$nae2$ghostInjecting ? null : operation.call(link, item, actionable, source);
464467
}
465468

466469
@Mixin(targets = "appeng.me.cluster.implementations.CraftingCPUCluster$TaskProgress", remap = false)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package github.kasuminova.novaeng.mixin.botania;
2+
3+
import net.minecraft.client.Minecraft;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.Overwrite;
6+
import vazkii.botania.client.core.proxy.ClientProxy;
7+
import vazkii.psi.common.Psi;
8+
9+
/*
10+
来自Psi的调用方法,解决一些内存泄露问题
11+
*/
12+
@Mixin(value = ClientProxy.class,remap = false)
13+
public abstract class MixinClientProxy {
14+
15+
/**
16+
* @author circulation
17+
* @reason 调用Psi内已经修复过的粒子
18+
*/
19+
@Overwrite
20+
public void wispFX(double x, double y, double z, float r, float g, float b, float size, float motionx, float motiony, float motionz, float maxAgeMul) {
21+
Psi.proxy.wispFX(Minecraft.getMinecraft().world,x, y, z, r, g, b, size,motionx,motiony,motionz,maxAgeMul);
22+
}
23+
24+
/**
25+
* @author circulation
26+
* @reason 调用Psi内已经修复过的粒子
27+
*/
28+
@Overwrite
29+
public void sparkleFX(double x, double y, double z, float r, float g, float b, float size, int m, boolean fake) {
30+
Psi.proxy.sparkleFX(Minecraft.getMinecraft().world, x, y, z, r, g, b, size, m);
31+
}
32+
33+
/**
34+
* @author circulation
35+
* @reason 调用Psi内已经修复过的粒子
36+
*/
37+
@Overwrite
38+
public void setWispFXDistanceLimit(boolean limit) {
39+
Psi.proxy.setWispFXDistanceLimit(limit);
40+
}
41+
42+
/**
43+
* @author circulation
44+
* @reason 调用Psi内已经修复过的粒子
45+
*/
46+
@Overwrite
47+
public void setWispFXDepthTest(boolean test) {
48+
Psi.proxy.setWispFXDepthTest(test);
49+
}
50+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package github.kasuminova.novaeng.mixin.modularrouters;
2+
3+
import me.desht.modularrouters.proxy.ClientProxy;
4+
import net.minecraft.world.World;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.Overwrite;
7+
import vazkii.psi.common.Psi;
8+
9+
/*
10+
来自Psi的调用方法,解决一些内存泄露问题
11+
*/
12+
@Mixin(value = ClientProxy.class,remap = false)
13+
public class MixinClientProxy {
14+
15+
/**
16+
* @author circulation
17+
* @reason 调用Psi内已经修复过的粒子
18+
*/
19+
@Overwrite
20+
public void sparkleFX(World world, double x, double y, double z, float r, float g, float b, float size, int m, boolean fake) {
21+
Psi.proxy.sparkleFX(world, x, y, z, r, g, b, size, m);
22+
}
23+
}

src/main/resources/mixins.novaeng_core_ae2.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
],
1515
"mixins": [
1616
"AccessorAbstractCellInventory",
17-
"AccessorCellRegistry",
1817
"AccessorContainerPatternEncoder",
1918
"MixinAppEngServerPacketHandler",
19+
"AccessorCellRegistry",
2020
"MixinCraftingCPUCluster",
2121
"MixinCraftingCPUClusterTwo",
2222
"MixinCraftingCPUClusterTwo$AccessorTaskProgress",

src/main/resources/mixins.novaeng_core_botania.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,8 @@
77
"mixins": [
88
"MixinTileRedStringContainer",
99
"MixinTileRuneAltar"
10+
],
11+
"client": [
12+
"MixinClientProxy"
1013
]
1114
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"package": "github.kasuminova.novaeng.mixin.modularrouters",
3+
"refmap": "mixins.novaeng_core.refmap.json",
4+
"target": "@env(DEFAULT)",
5+
"minVersion": "0.8",
6+
"compatibilityLevel": "JAVA_8",
7+
"client": [
8+
"MixinClientProxy"
9+
]
10+
}

0 commit comments

Comments
 (0)