Skip to content

Commit 4da4b82

Browse files
committed
-dual handle and forge fixes and other fixes
1 parent 5977d21 commit 4da4b82

File tree

15 files changed

+307
-49
lines changed

15 files changed

+307
-49
lines changed

common/src/main/java/smartin/miapi/client/gui/crafting/statdisplay/StatDisplay.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,24 @@ public class StatDisplay extends InteractAbleWidget {
6060
.setDefault(1)
6161
.setFormat("##.#")
6262
.setMax(5).build());
63+
addStatDisplay(AttributeSingleDisplay
64+
.Builder(AttributeRegistry.SHIELD_BREAK)
65+
.setTranslationKey("shield_break")
66+
.setDefault(0)
67+
.setFormat("##.#")
68+
.setMax(5).build());
69+
addStatDisplay(AttributeSingleDisplay
70+
.Builder(AttributeRegistry.REACH)
71+
.setTranslationKey("reach")
72+
.setDefault(0)
73+
.setFormat("##.#")
74+
.setMax(2).build());
75+
addStatDisplay(AttributeSingleDisplay
76+
.Builder(AttributeRegistry.ATTACK_RANGE)
77+
.setTranslationKey("attack_range")
78+
.setDefault(0)
79+
.setFormat("##.#")
80+
.setMax(2).build());
6381
addStatDisplay(MiningLevelStatDisplay
6482
.Builder("pickaxe")
6583
.setAttribute(AttributeRegistry.MINING_SPEED_PICKAXE).build());

common/src/main/java/smartin/miapi/datapack/ReloadListener.java

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
package smartin.miapi.datapack;
22

3+
import dev.architectury.platform.Platform;
4+
import net.minecraft.resource.Resource;
35
import net.minecraft.resource.ResourceManager;
46
import net.minecraft.resource.ResourceReloader;
57
import net.minecraft.resource.ResourceType;
8+
import net.minecraft.util.Identifier;
69
import net.minecraft.util.profiler.Profiler;
710
import smartin.miapi.Miapi;
811

912
import java.io.BufferedReader;
1013
import java.io.InputStreamReader;
1114
import java.nio.charset.StandardCharsets;
12-
import java.util.HashMap;
15+
import java.util.LinkedHashMap;
16+
import java.util.List;
1317
import java.util.Map;
1418
import java.util.concurrent.CompletableFuture;
1519
import java.util.concurrent.Executor;
@@ -23,44 +27,48 @@ public CompletableFuture load(ResourceManager manager, Profiler profiler, Execut
2327
ReloadEvents.inReload = true;
2428
timeStart = System.nanoTime();
2529
ReloadEvents.START.fireEvent(false);
26-
Map<String, String> data = new HashMap<>();
27-
manager.streamResourcePacks().forEach(resourcePack -> {
28-
ReloadEvents.syncedPaths.keySet().forEach(nameSpace -> {
29-
resourcePack.findResources(ResourceType.SERVER_DATA, nameSpace, "", (identifier, inputSupplier) -> {
30-
if (ReloadEvents.syncedPaths.get(nameSpace).stream().anyMatch(path -> identifier.getPath().startsWith(path))) {
31-
try {
32-
BufferedReader reader = new BufferedReader(new InputStreamReader(inputSupplier.get(), StandardCharsets.UTF_8));
33-
String dataString = reader.lines().collect(Collectors.joining());
34-
String fullPath = identifier.getPath();
35-
data.put(fullPath, dataString);
36-
} catch (Exception e) {
37-
Miapi.LOGGER.warn("Error Loading Resource" + identifier);
38-
}
39-
}
40-
});
41-
});
42-
});
43-
/*
44-
ReloadEvents.syncedPaths.forEach((modID, dataPaths) -> {
45-
dataPaths.forEach(dataPath -> {
46-
Map<Identifier, List<Resource>> map = manager.findAllResources(dataPath, (fileName) -> true);
47-
map.forEach((identifier, resources) -> {
48-
if (identifier.getNamespace().equals(modID)) {
49-
resources.forEach(resource -> {
30+
Map<String, String> data = new LinkedHashMap<>();
31+
32+
if(Platform.isFabric()){
33+
//TODO:figure out why this does nto work on forge.
34+
manager.streamResourcePacks().forEach(resourcePack -> {
35+
ReloadEvents.syncedPaths.keySet().forEach(nameSpace -> {
36+
resourcePack.findResources(ResourceType.SERVER_DATA, nameSpace, "", (identifier, inputSupplier) -> {
37+
if (ReloadEvents.syncedPaths.get(nameSpace).stream().anyMatch(path -> identifier.getPath().startsWith(path))) {
5038
try {
51-
BufferedReader reader = resource.getReader();
39+
BufferedReader reader = new BufferedReader(new InputStreamReader(inputSupplier.get(), StandardCharsets.UTF_8));
5240
String dataString = reader.lines().collect(Collectors.joining());
5341
String fullPath = identifier.getPath();
5442
data.put(fullPath, dataString);
5543
} catch (Exception e) {
56-
Miapi.LOGGER.warn("Error Loading Resource" + identifier + " " + resources);
44+
Miapi.LOGGER.warn("Error Loading Resource" + identifier);
5745
}
58-
});
59-
}
46+
}
47+
});
6048
});
6149
});
62-
});
63-
*/
50+
}
51+
else{
52+
ReloadEvents.syncedPaths.forEach((modID, dataPaths) -> {
53+
dataPaths.forEach(dataPath -> {
54+
Map<Identifier, List<Resource>> map = manager.findAllResources(dataPath, (fileName) -> true);
55+
map.forEach((identifier, resources) -> {
56+
if (identifier.getNamespace().equals(modID)) {
57+
resources.forEach(resource -> {
58+
try {
59+
BufferedReader reader = resource.getReader();
60+
String dataString = reader.lines().collect(Collectors.joining());
61+
String fullPath = identifier.getPath();
62+
data.put(fullPath, dataString);
63+
} catch (Exception e) {
64+
Miapi.LOGGER.warn("Error Loading Resource" + identifier + " " + resources);
65+
}
66+
});
67+
}
68+
});
69+
});
70+
});
71+
}
6472
return CompletableFuture.completedFuture(data);
6573
}
6674

common/src/main/java/smartin/miapi/modules/properties/SlotProperty.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public static Transform getTransform(ModuleSlot moduleSlot) {
4646
Transform mergedTransform = Transform.IDENTITY;
4747
while (current != null) {
4848
mergedTransform = Transform.merge(getLocalTransform(current), mergedTransform);
49+
//mergedTransform = Transform.merge(mergedTransform,getLocalTransform(current));
4950
current = current.parent;
5051
}
5152
mergedTransform = Transform.merge(mergedTransform, moduleSlot.transform);
@@ -77,10 +78,11 @@ public static TransformMap getTransformStack(ModuleSlot moduleSlot) {
7778
mergedTransform.set(stack.primary, mergedTransform.get(null));
7879
mergedTransform.set(null, Transform.IDENTITY);
7980
}
80-
mergedTransform = TransformMap.merge(mergedTransform,getLocalTransformStack(current));
81+
//mergedTransform = TransformMap.merge(mergedTransform,getLocalTransformStack(current));
82+
mergedTransform = TransformMap.merge(getLocalTransformStack(current),mergedTransform);
8183
current = current.parent;
8284
}
83-
mergedTransform = TransformMap.merge(mergedTransform, moduleSlot.getTransformStack());
85+
mergedTransform = TransformMap.merge(moduleSlot.getTransformStack(),mergedTransform);
8486
return mergedTransform;
8587
}
8688

common/src/main/java/smartin/miapi/modules/properties/compat/BetterCombatProperty.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ public boolean load(String moduleKey, JsonElement data) throws Exception {
3737

3838
@Override
3939
public JsonElement merge(JsonElement old, JsonElement toMerge, MergeType type) {
40+
if (type == MergeType.SMART || type == MergeType.EXTEND) {
41+
return toMerge;
42+
} else if (type == MergeType.OVERWRITE) {
43+
return old;
44+
}
4045
return ModuleProperty.super.merge(old, toMerge, type);
4146
}
4247
}

common/src/main/java/smartin/miapi/modules/properties/render/GuiOffsetProperty.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@ public GuiOffsetProperty() {
4141
}
4242
//guiOffsetJson.x -= (guiOffsetJson.sizeX/2);
4343
//guiOffsetJson.y -= (guiOffsetJson.sizeY/2);
44-
guiOffsetJson.x = guiOffsetJson.x / 16f;
45-
guiOffsetJson.y = guiOffsetJson.y / 16f;
46-
guiOffsetJson.sizeX = 1 - guiOffsetJson.sizeX / 16.0f;
47-
guiOffsetJson.sizeY = 1 - guiOffsetJson.sizeY / 16.0f;
44+
float baseSize = 16f;
45+
guiOffsetJson.x = guiOffsetJson.x / baseSize;
46+
guiOffsetJson.y = guiOffsetJson.y / baseSize;
47+
guiOffsetJson.sizeX = (baseSize) / (baseSize + guiOffsetJson.sizeX);
48+
guiOffsetJson.sizeY = (baseSize) / (baseSize + guiOffsetJson.sizeY);
49+
float zScale = (guiOffsetJson.sizeX + guiOffsetJson.sizeY) / 2;
4850
matrices.translate(guiOffsetJson.x, guiOffsetJson.y, 0);
49-
matrices.scale(guiOffsetJson.sizeX, guiOffsetJson.sizeY, 1);
51+
matrices.scale(guiOffsetJson.sizeX, guiOffsetJson.sizeY, zScale);
5052

5153
}
5254
return matrices;

common/src/main/resources/assets/miapi/lang/en_us.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,18 @@
5757
"miapi.stat.attack_speed.description": "Attacks per Second",
5858
"miapi.stat.back_stab": "Back Stab",
5959
"miapi.stat.back_stab.description": "Multiplier if the Attacker is behind the Victim",
60-
"miapi.stat.back_stab": "Back Stab",
61-
"miapi.stat.back_stab.description": "Multiplier if the Attacker is behind the Victim",
6260
"miapi.stat.flexibility": "Flexibility",
6361
"miapi.stat.flexibility.description": "The Modability of the Item\n Items with Flexibility below 0\n cant be crafted",
6462
"miapi.stat.healthPercent": "Vitality Drain",
6563
"miapi.stat.healthPercent.description": "Deals %d percentage health Damage",
6664
"miapi.stat.armor_pen": "Armor Penetration",
6765
"miapi.stat.armor_pen.description": "Scales Target armor to %d percent",
66+
"miapi.stat.shield_break": "Shield Break",
67+
"miapi.stat.shield_break.description": "Time an attack disables a Victims Shield in seconds",
68+
"miapi.stat.reach": "Block Reach",
69+
"miapi.stat.reach.description": "Distance in witch blocks can be broken",
70+
"miapi.stat.attack_range": "Attack Range",
71+
"miapi.stat.attack_range.description": "Distance in witch one can attack a Target",
6872
"miapi.stat.blocking": "Blocking",
6973
"miapi.stat.blocking.description": "Blocks %d percent of incoming Damage",
7074
"miapi.stat.mining.level.pickaxe": "Pickaxe Mining",
@@ -239,6 +243,11 @@
239243
"miapi.module.handle_short.description": "A shorter handle suitable for one-handed swords, providing improved maneuverability.",
240244
"miapi.module.handle_short.short_description": "A Short Handle",
241245

246+
"miapi.module.handle_dual": "Dual Handle",
247+
"miapi.module.handle_dual.name": "[translation.[material.translation]]Dual Handle",
248+
"miapi.module.handle_dual.description": "Am impractical Dual Handle for double the Blades.\n Looks cool though.",
249+
"miapi.module.handle_dual.short_description": "A Dual Handle",
250+
242251
"miapi.module.axe_front": "Axe Head",
243252
"miapi.module.axe_front.name": "[translation.[material.translation]]Axe",
244253
"miapi.module.axe_front.description": "A front part of an axe used for cutting and stripping wood. Can also be used for combat.",

common/src/main/resources/data/miapi/materials/stone/prismarine.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"key": "stone_prismarine",
33
"translation": "miapi.material.stone.prismarine",
4-
"icon": "textures/block/prismarine.png",
4+
"icon": "textures/item/prismarine_shard.png",
55
"groups": [
66
"stone"
77
],

common/src/main/resources/data/miapi/modules/sword/guard/guard_slim.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,5 @@
3131
"blocking": 10,
3232
"abilities": [
3333
"block"
34-
],
35-
"flexibility": "-0.5"
34+
]
3635
}

common/src/main/resources/data/miapi/modules/sword/handle/hande_polearm.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@
227227
"uuid": "AAAAAAAA-4180-4865-B01B-BCCE9785ACA3"
228228
}
229229
],
230-
"flexibility": 1,
231230
"guiOffset": {
232231
"x": 3,
233232
"y": 3,

common/src/main/resources/data/miapi/modules/sword/handle/hande_tool.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@
213213
"uuid": "AAAAAAAA-4180-4865-B01B-BCCE9785ACA3"
214214
}
215215
],
216-
"flexibility": 1,
217216
"isWeapon": false,
218217
"displayName": "miapi.module.handle_tool.name",
219218
"itemId": "miapi:modular_handle"

0 commit comments

Comments
 (0)