Skip to content

Commit 006d756

Browse files
committed
修复虚空采掘机等矿机无法输入坐标卡的问题
1 parent 07aa2f4 commit 006d756

File tree

3 files changed

+198
-89
lines changed

3 files changed

+198
-89
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
package github.kasuminova.novaeng.common.crafttweaker.util;
2+
3+
import crafttweaker.annotations.ZenRegister;
4+
import crafttweaker.api.data.IData;
5+
import github.kasuminova.novaeng.common.util.IDataUtils;
6+
import stanhebben.zenscript.annotations.Optional;
7+
import stanhebben.zenscript.annotations.ZenExpansion;
8+
import stanhebben.zenscript.annotations.ZenMethod;
9+
10+
import java.util.List;
11+
import java.util.Map;
12+
13+
@ZenRegister
14+
@ZenExpansion("crafttweaker.data.IData")
15+
public class IDataUtilsCrt {
16+
17+
@ZenMethod
18+
public static IData get(IData data, String path, @Optional IData defaultValue) {
19+
return IDataUtils.get(data, path, defaultValue);
20+
}
21+
22+
@ZenMethod
23+
public static boolean getBool(IData data, String path, @Optional boolean defaultValue) {
24+
return IDataUtils.getBool(data, path, defaultValue);
25+
}
26+
27+
@ZenMethod
28+
public static byte getByte(IData data, String path, @Optional byte defaultValue) {
29+
return IDataUtils.getByte(data, path, defaultValue);
30+
}
31+
32+
@ZenMethod
33+
public static double getDouble(IData data, String path, @Optional double defaultValue) {
34+
return IDataUtils.getDouble(data, path, defaultValue);
35+
}
36+
37+
@ZenMethod
38+
public static float getFloat(IData data, String path, @Optional float defaultValue) {
39+
return IDataUtils.getFloat(data, path, defaultValue);
40+
}
41+
42+
@ZenMethod
43+
public static int getInt(IData data, String path, @Optional int defaultValue) {
44+
return IDataUtils.getInt(data, path, defaultValue);
45+
}
46+
47+
@ZenMethod
48+
public static List<IData> getList(IData data, String path, @Optional List<IData> defaultValue) {
49+
return IDataUtils.getList(data, path, defaultValue);
50+
}
51+
52+
@ZenMethod
53+
public static long getLong(IData data, String path, @Optional long defaultValue) {
54+
return IDataUtils.getLong(data, path, defaultValue);
55+
}
56+
57+
@ZenMethod
58+
public static Map<String, IData> getMap(IData data, String path, @Optional Map<String, IData> defaultValue) {
59+
return IDataUtils.getMap(data, path, defaultValue);
60+
}
61+
62+
@ZenMethod
63+
public static short getShort(IData data, String path, @Optional short defaultValue) {
64+
return IDataUtils.getShort(data, path, defaultValue);
65+
}
66+
67+
@ZenMethod
68+
public static String getString(IData data, String path, @Optional String defaultValue) {
69+
return IDataUtils.getString(data, path, defaultValue);
70+
}
71+
72+
@ZenMethod
73+
public static byte[] getByteArray(IData data, String path, @Optional byte[] defaultValue) {
74+
return IDataUtils.getByteArray(data, path, defaultValue);
75+
}
76+
77+
@ZenMethod
78+
public static int[] getIntArray(IData data, String path, @Optional int[] defaultValue) {
79+
return IDataUtils.getIntArray(data, path, defaultValue);
80+
}
81+
82+
@ZenMethod
83+
public static boolean check(IData data, String path) {
84+
return IDataUtils.check(data, path);
85+
}
86+
87+
@ZenMethod
88+
public static boolean check(IData data, String[] path) {
89+
return IDataUtils.check(data, path);
90+
}
91+
}

src/main/java/github/kasuminova/novaeng/common/machine/drills/Drill.kt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ import github.kasuminova.novaeng.common.handler.OreHandler
2323
import github.kasuminova.novaeng.common.machine.MachineSpecial
2424
import github.kasuminova.novaeng.common.machine.drills.Drill.Type.RANGE
2525
import github.kasuminova.novaeng.common.machine.drills.Drill.Type.SINGLE
26-
import github.kasuminova.novaeng.common.util.IDataUtils
26+
import github.kasuminova.novaeng.common.util.IDataUtils.check
27+
import github.kasuminova.novaeng.common.util.IDataUtils.getIntArray
2728
import hellfirepvp.modularmachinery.ModularMachinery
2829
import hellfirepvp.modularmachinery.common.integration.crafttweaker.RecipeBuilder
2930
import hellfirepvp.modularmachinery.common.integration.crafttweaker.RecipeModifierBuilder
@@ -243,13 +244,13 @@ abstract class Drill : MachineSpecial {
243244
repeat(size) {
244245
this.addOutput(stone)
245246
if (this@Drill.isDimensional()) {
246-
this.addItemModifier { ctrl, item ->
247+
this.addItemModifier { ctrl, _ ->
247248
val poss = ctrl.controller.customDataTag.getIntArray("pos")
248249
val pos = BlockPos(poss[0], poss[1], poss[2])
249250
return@addItemModifier getOreOutput(ctrl.controller, pos, poss[3], i, ii)
250251
}
251252
} else {
252-
this.addItemModifier { ctrl, item ->
253+
this.addItemModifier { ctrl, _ ->
253254
return@addItemModifier getOreOutput(
254255
ctrl.controller,
255256
ctrl.controller.getPos(),
@@ -373,7 +374,7 @@ abstract class Drill : MachineSpecial {
373374
.addOutputs(4, 1, 1)
374375
.requireComputationPoint(1.5f)
375376
.addOutput(stone)
376-
.addItemModifier { ctrl, item ->
377+
.addItemModifier { ctrl, _ ->
377378
getCcrystalOutput(ctrl.controller)
378379
}
379380
.setChance(0.1f)
@@ -396,7 +397,7 @@ abstract class Drill : MachineSpecial {
396397
.addOutputs(4, 1, 1)
397398
.requireComputationPoint(1.5f)
398399
.addOutput(stone)
399-
.addItemModifier { ctrl, item ->
400+
.addItemModifier { ctrl, _ ->
400401
getCcrystalOutput(ctrl.controller)
401402
}.setChance(0.1f)
402403
.setParallelized(true)
@@ -427,7 +428,7 @@ abstract class Drill : MachineSpecial {
427428
.addOutputs(3, i, ii)
428429
.requireComputationPoint(3f)
429430
.addOutput(stone)
430-
.addItemModifier { ctrl, item ->
431+
.addItemModifier { ctrl, _ ->
431432
getCcrystalOutput(ctrl.controller)
432433
}.setChance(0.035f)
433434
.setMaxThreads(1)
@@ -452,7 +453,7 @@ abstract class Drill : MachineSpecial {
452453
.addOutputs(3, i, ii)
453454
.requireComputationPoint(3f)
454455
.addOutput(stone)
455-
.addItemModifier { ctrl, item ->
456+
.addItemModifier { ctrl, _ ->
456457
getCcrystalOutput(ctrl.controller)
457458
}
458459
.setChance(0.04f)
@@ -579,11 +580,11 @@ abstract class Drill : MachineSpecial {
579580
RecipeBuilder.newBuilder("excavatorzb$name", name, 10)
580581
.addInput(itemUtils.getItem("contenttweaker:zbk", 0))
581582
.setNBTChecker { ctrl, item ->
582-
val data = ctrl.controller.customDataTag
583-
if (!data.hasKey("binding")) {
583+
if (!item.tag.check("binding")) {
584584
return@setNBTChecker false
585585
}
586-
val pos = IDataUtils.getIntArray(item.tag, "pos", null) ?: return@setNBTChecker false
586+
val pos = item.tag.getIntArray("pos", null) ?: return@setNBTChecker false
587+
val data = ctrl.controller.customDataTag
587588
data.setIntArray("poss", pos)
588589
true
589590
}

0 commit comments

Comments
 (0)