Skip to content

Commit e7c8090

Browse files
committed
修复一些神奇玩意
优化了mixin类的表现,逃离了一堆mixin文件的糟糕情况
1 parent c3b7fd4 commit e7c8090

63 files changed

Lines changed: 350 additions & 866 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ buildscript {
1010
gradlePluginPortal()
1111
}
1212
configurations.classpath.resolutionStrategy {
13-
// unimined 1.4.16-kappa's tiny-remapper requires KmFunction.getContextParameters()
14-
// from kotlin-metadata-jvm 2.3.20 (POM-declared version). The Kotlin compiler plugin
15-
// (2.1.20) otherwise pulls in an older metadata lib on the same classpath and wins
16-
// conflict resolution. Load unimined via the classic buildscript so force applies.
1713
force 'org.jetbrains.kotlin:kotlin-metadata-jvm:2.3.20'
1814
}
1915
dependencies {
@@ -104,15 +100,21 @@ public final class Tags {
104100
}
105101

106102
sourceSets {
103+
api {
104+
java.srcDirs = ['src/api/java']
105+
resources.srcDirs = []
106+
}
107107
main {
108-
java.srcDirs = ['src/main/java', 'src/api/java']
108+
java.srcDirs = ['src/main/java']
109109
java.srcDir generateTags
110110
resources.srcDirs = ['src/main/resources']
111+
compileClasspath += sourceSets.api.output
112+
runtimeClasspath += sourceSets.api.output
111113
}
112114
}
113115

114116
def mixinConfigFiles = fileTree('src/main/resources') {
115-
include 'mixins.novaeng_core*.json'
117+
include 'mixins.novaeng_core.json'
116118
}.files.collect { it.name }.sort()
117119

118120
String remapTaskName = propertyBool('enable_shadow') ? 'remapShadowJar' : 'remapJar'
@@ -202,6 +204,7 @@ if (!propertyBool('enable_shadow')) {
202204
}
203205

204206
compileJava {
207+
dependsOn tasks.named('compileApiJava')
205208
dependsOn generateTags
206209
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_25
207210
options.release = 25

gradle/scripts/dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ dependencies {
4848
modImplementation 'curse.maven:modularmachinery-community-edition-817377:7306619'
4949
modImplementation name: 'MMCE-ComponentModelHider', version: '1.1', classifier: 'dev'
5050
modImplementation name: 'resourceloader', version: '1.5.3', classifier: 'main'
51-
modImplementation name: 'circulation_networks-1.12.2', version: '1.0.0', classifier: 'dev'
51+
modImplementation name: 'circulation_networks-1.12.2', version: '1.0.3', classifier: 'dev'
5252
modImplementation 'curse.maven:extended-crafting-terminals-for-applied-1157825:6503414'
5353
modImplementation 'curse.maven:lumenized-1234162:6378222'
5454
modImplementation 'curse.maven:mantle-74924:2713386'
922 KB
Binary file not shown.

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

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import appeng.helpers.WirelessTerminalGuiObject;
55
import baubles.api.BaublesApi;
66
import github.kasuminova.mmce.client.renderer.MachineControllerRenderer;
7-
import github.kasuminova.novaeng.NovaEngCoreConfig;
87
import github.kasuminova.novaeng.NovaEngineeringCore;
98
import github.kasuminova.novaeng.client.book.BookTransformerAppendModifiers;
109
import github.kasuminova.novaeng.client.gui.GuiECalculatorController;
@@ -39,8 +38,8 @@
3938
import github.kasuminova.novaeng.common.tile.ecotech.estorage.EStorageController;
4039
import github.kasuminova.novaeng.common.tile.machine.GeocentricDrillController;
4140
import github.kasuminova.novaeng.common.tile.machine.SingularityCore;
42-
import github.kasuminova.novaeng.mixin.util.NovaBlockColors;
43-
import github.kasuminova.novaeng.mixin.util.NovaItemColors;
41+
import github.kasuminova.novaeng.common.util.NovaBlockColors;
42+
import github.kasuminova.novaeng.common.util.NovaItemColors;
4443
import hellfirepvp.modularmachinery.common.base.Mods;
4544
import it.unimi.dsi.fastutil.ints.IntArrayList;
4645
import it.unimi.dsi.fastutil.ints.IntList;
@@ -85,9 +84,6 @@
8584
import java.awt.Color;
8685
import java.util.List;
8786

88-
import static github.kasuminova.novaeng.mixin.NovaEngCoreEarlyMixinLoader.checkJavaVersion;
89-
import static github.kasuminova.novaeng.mixin.NovaEngCoreEarlyMixinLoader.isCleanroomLoader;
90-
9187
@SuppressWarnings("MethodMayBeStatic")
9288
@Mod.EventBusSubscriber(Side.CLIENT)
9389
public class ClientProxy extends CommonProxy {
@@ -111,7 +107,7 @@ public static int getColorForODFirst(String odName) {
111107
if (color < 0) {
112108
var od = OreDictionary.getOres(odName);
113109
if (!od.isEmpty()) {
114-
var stack = od.get(0);
110+
var stack = od.getFirst();
115111
color = getColorForItemStack(stack).getRGB();
116112
} else {
117113
color = Color.WHITE.getRGB();
@@ -130,9 +126,9 @@ public static Color getColorForItemStack(ItemStack stack) {
130126
new BlockPos(0, 0, 0), EnumFacing.UP, 0, 0, 0, stack.getMetadata(), mc.player);
131127
List<BakedQuad> quads = mc.getBlockRendererDispatcher().getModelForState(state).getQuads(state, EnumFacing.NORTH, 0);
132128
if (quads.isEmpty()) return Color.WHITE;
133-
sprite = quads.get(0).getSprite();
129+
sprite = quads.getFirst().getSprite();
134130
} else sprite = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(stack, null, null)
135-
.getQuads(null, null, 0).get(0).getSprite();
131+
.getQuads(null, null, 0).getFirst().getSprite();
136132
IntList colours = new IntArrayList();
137133
for (int[] rows : sprite.getFrameTextureData(0))
138134
for (int colour : rows) if ((colour & 0xFF) > 0) colours.add(colour);
@@ -168,15 +164,7 @@ public boolean isClient() {
168164
@Override
169165
public void construction() {
170166
super.construction();
171-
172167
ConfigManager.sync(NovaEngineeringCore.MOD_ID, Config.Type.INSTANCE);
173-
174-
if (NovaEngCoreConfig.javaCheck) {
175-
if (!isCleanroomLoader()) {
176-
checkJavaVersion();
177-
}
178-
}
179-
180168
TitleUtils.setRandomTitle("*Construction*");
181169
}
182170

src/main/java/github/kasuminova/novaeng/client/util/NEWBlockArrayPreviewRenderHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package github.kasuminova.novaeng.client.util
22

3-
import github.kasuminova.novaeng.mixin.util.BlockArrayPreviewRenderUtils
3+
import github.kasuminova.novaeng.common.util.BlockArrayPreviewRenderUtils
44
import hellfirepvp.modularmachinery.client.util.BlockArrayPreviewRenderHelper
55
import hellfirepvp.modularmachinery.client.util.DynamicMachineRenderContext
66
import hellfirepvp.modularmachinery.common.block.BlockController

src/main/java/github/kasuminova/novaeng/client/util/TitleUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import github.kasuminova.novaeng.NovaEngCoreConfig;
44
import github.kasuminova.novaeng.NovaEngineeringCore;
55
import github.kasuminova.novaeng.client.hitokoto.HitokotoAPI;
6-
import github.kasuminova.novaeng.mixin.NovaEngCoreEarlyMixinLoader;
76
import org.lwjgl.opengl.Display;
87

98
import java.lang.reflect.Method;
@@ -116,7 +115,7 @@ private static void setTitle() {
116115
if (!NovaEngCoreConfig.CLIENT.enableNovaEngTitle) {
117116
return;
118117
}
119-
if (NovaEngCoreEarlyMixinLoader.isCleanroomLoader() && !unsupportedPlatform) {
118+
if (!unsupportedPlatform) {
120119
try {
121120
Class<?> Display = Class.forName("org.lwjgl.opengl.Display");
122121
Method getWindow = Display.getDeclaredMethod("getWindow");

src/main/java/github/kasuminova/novaeng/common/tile/TileDreamEnergyPort.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public TileDreamEnergyPort() {
3535
}
3636

3737
@Override
38-
protected @NotNull NodeType<DreamNode> getNodeType() {
38+
public @NotNull NodeType<DreamNode> getNodeType() {
3939
return BlockDreamEnergyPort.TYPE;
4040
}
4141

@@ -108,6 +108,7 @@ public double getEnergyScopeSq() {
108108
}
109109
}
110110

111+
@SuppressWarnings("ReturnOfInnerClass")
111112
public final class DreamenergyHandler implements IEnergyHandler {
112113

113114
private static final BigInteger max = BigDecimal.valueOf(1.0E256d).toBigInteger();

src/main/java/github/kasuminova/novaeng/common/tile/ecotech/efabricator/EFabricatorController.kt

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import github.kasuminova.novaeng.common.tile.ecotech.EPartController
2020
import github.kasuminova.novaeng.common.tile.ecotech.efabricator.EFabricatorWorker.CraftWork
2121
import github.kasuminova.novaeng.common.util.Functions
2222
import github.kasuminova.novaeng.common.util.MachineCoolants
23-
import hellfirepvp.modularmachinery.ModularMachinery
2423
import hellfirepvp.modularmachinery.client.ClientProxy
2524
import hellfirepvp.modularmachinery.common.machine.IOType
2625
import hellfirepvp.modularmachinery.common.machine.MachineRegistry
@@ -83,7 +82,10 @@ class EFabricatorController() : EPartController<EFabricatorPart>() {
8382

8483
var outputBuffer: IItemList<IAEItemStack> = ItemList()
8584

86-
var parentController: BlockEFabricatorController? = null
85+
val parentController: BlockEFabricatorController?
86+
get() {
87+
return this.getBlockType() as? BlockEFabricatorController
88+
}
8789
var energyConsumePerTick: Double = 64.0
8890

8991
var channel: EFabricatorMEChannel? = null
@@ -131,10 +133,6 @@ class EFabricatorController() : EPartController<EFabricatorPart>() {
131133

132134
constructor(machineRegistryName: ResourceLocation) : this() {
133135
this.parentMachine = MachineRegistry.getRegistry().getMachine(machineRegistryName)
134-
this.parentController = BlockEFabricatorController.REGISTRY[ResourceLocation(
135-
NovaEngineeringCore.MOD_ID,
136-
machineRegistryName.getPath()
137-
)]
138136
}
139137

140138
init {
@@ -600,17 +598,5 @@ class EFabricatorController() : EPartController<EFabricatorPart>() {
600598

601599
override fun readMachineNBT(compound: NBTTagCompound) {
602600
super.readMachineNBT(compound)
603-
if (compound.hasKey("parentMachine")) {
604-
val rl = ResourceLocation(compound.getString("parentMachine"))
605-
parentMachine = MachineRegistry.getRegistry().getMachine(rl)
606-
if (parentMachine != null) {
607-
this.parentController = BlockEFabricatorController.REGISTRY[ResourceLocation(
608-
NovaEngineeringCore.MOD_ID,
609-
parentMachine.getRegistryName().getPath()
610-
)]
611-
} else {
612-
ModularMachinery.log.info("Couldn't find machine named $rl for controller at ${getPos()}")
613-
}
614-
}
615601
}
616-
}
602+
}

src/main/java/github/kasuminova/novaeng/mixin/util/BlockArrayPreviewRenderUtils.java renamed to src/main/java/github/kasuminova/novaeng/common/util/BlockArrayPreviewRenderUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package github.kasuminova.novaeng.mixin.util;
1+
package github.kasuminova.novaeng.common.util;
22

33
import hellfirepvp.modularmachinery.client.util.BlockArrayRenderHelper;
44
import hellfirepvp.modularmachinery.common.util.BlockArray;

src/main/java/github/kasuminova/novaeng/mixin/util/BlockArrayRenderUtils.java renamed to src/main/java/github/kasuminova/novaeng/common/util/BlockArrayRenderUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package github.kasuminova.novaeng.mixin.util;
1+
package github.kasuminova.novaeng.common.util;
22

33
import hellfirepvp.modularmachinery.common.util.BlockArray;
44

0 commit comments

Comments
 (0)