Skip to content

Commit 68df19d

Browse files
authored
Merge pull request #22 from box3lab/dev_coolfish
Dev coolfish
2 parents 4e0b3cd + b3c5db0 commit 68df19d

22 files changed

Lines changed: 253 additions & 185 deletions

File tree

Fabric-1.20.1/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ loader_version=0.18.4
1212
loom_version=1.15-SNAPSHOT
1313

1414
# Mod Properties
15-
mod_version=1.4.0-mc1.20.1
15+
mod_version=1.4.1-mc1.20.1
1616
maven_group=com.box3lab
1717
archives_base_name=box3
1818

Fabric-1.20.1/src/main/java/com/box3lab/block/BouncePadBlock.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,14 @@ public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) {
3131

3232
entity.setDeltaMovement(vel);
3333
}
34+
35+
@Override
36+
public void fallOn(Level level, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
37+
38+
if (entity.isSuppressingBounce()) {
39+
super.fallOn(level, state, pos, entity, fallDistance);
40+
} else {
41+
entity.resetFallDistance();
42+
}
43+
}
3444
}

Fabric-1.20.1/src/main/java/com/box3lab/command/ModCommands.java

Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.box3lab.util.Box3ImportFiles;
99
import com.mojang.brigadier.arguments.BoolArgumentType;
1010
import com.mojang.brigadier.arguments.StringArgumentType;
11+
import com.mojang.brigadier.arguments.IntegerArgumentType;
1112
import com.mojang.brigadier.suggestion.SuggestionProvider;
1213

1314
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
@@ -46,37 +47,71 @@ public static void register() {
4647
.executes(context -> listBox3ImportFiles(context.getSource()))
4748
.then(argument("fileName", StringArgumentType.word())
4849
.suggests(BOX3_FILE_SUGGESTIONS)
50+
// /box3import <fileName>
4951
.executes(context -> executeBox3Import(
5052
context.getSource(),
5153
StringArgumentType.getString(
5254
context,
5355
"fileName"),
56+
0,
5457
false,
5558
false))
56-
.then(argument("ignoreBarrier",
57-
BoolArgumentType.bool())
59+
// /box3import <fileName> <offsetY>
60+
.then(argument("offsetY",
61+
IntegerArgumentType.integer())
5862
.executes(context -> executeBox3Import(
5963
context.getSource(),
6064
StringArgumentType
61-
.getString(context,
65+
.getString(
66+
context,
6267
"fileName"),
63-
BoolArgumentType.getBool(
64-
context,
65-
"ignoreBarrier"),
68+
IntegerArgumentType
69+
.getInteger(
70+
context,
71+
"offsetY"),
72+
false,
6673
false))
67-
.then(argument("ignoreWater",
74+
// /box3import <fileName>
75+
// <offsetY> <ignoreBarrier>
76+
.then(argument("ignoreBarrier",
6877
BoolArgumentType.bool())
6978
.executes(context -> executeBox3Import(
7079
context.getSource(),
7180
StringArgumentType
72-
.getString(context,
81+
.getString(
82+
context,
7383
"fileName"),
84+
IntegerArgumentType
85+
.getInteger(
86+
context,
87+
"offsetY"),
7488
BoolArgumentType.getBool(
7589
context,
7690
"ignoreBarrier"),
77-
BoolArgumentType.getBool(
78-
context,
79-
"ignoreWater")))))));
91+
false))
92+
// /box3import
93+
// <fileName>
94+
// <offsetY>
95+
// <ignoreBarrier>
96+
// <ignoreWater>
97+
.then(argument("ignoreWater",
98+
BoolArgumentType.bool())
99+
.executes(context -> executeBox3Import(
100+
context.getSource(),
101+
StringArgumentType
102+
.getString(
103+
context,
104+
"fileName"),
105+
IntegerArgumentType
106+
.getInteger(
107+
context,
108+
"offsetY"),
109+
BoolArgumentType.getBool(
110+
context,
111+
"ignoreBarrier"),
112+
BoolArgumentType.getBool(
113+
context,
114+
"ignoreWater"))))))));
80115

81116
dispatcher.register(
82117
literal("box3barrier")
@@ -134,13 +169,16 @@ private static String resolveMapName(String fileName) {
134169
}
135170

136171
private static int executeBox3Import(CommandSourceStack source, String fileName,
137-
boolean ignoreBarrier, boolean useVanillaWater) {
172+
int offsetY, boolean ignoreBarrier, boolean useVanillaWater) {
138173
ServerLevel level = source.getServer().overworld();
139174
try {
140175
ServerPlayer player = source.getPlayer();
141176
String mapName = resolveMapName(fileName);
177+
var basePos = player != null ? player.position() : new BlockPos(0, 0, 0).getCenter();
178+
var offsetPos = basePos.add(0, offsetY, 0);
179+
142180
VoxelImport.apply(null, level, mapName,
143-
player != null ? player.position() : new BlockPos(0, 0, 0).getCenter(),
181+
offsetPos,
144182
player,
145183
ignoreBarrier,
146184
useVanillaWater);

Fabric-1.20.1/src/main/resources/assets/box3/lang/en_us.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,5 +411,6 @@
411411
"command.box3.box3barrier.status": "Barrier visible: %s",
412412
"command.box3.box3barrier.set": "Barrier visibility set to: %s",
413413
"command.box3.box3barrier.toggled": "Barrier visibility toggled to: %s (re-enter the world to fully apply)",
414-
"item.box3.model_destroyer": "Model destruction bucket"
414+
"item.box3.model_destroyer": "Model destruction bucket",
415+
"flat_world_preset.box3.box3_plains_world": "Box3 Plains"
415416
}

Fabric-1.20.1/src/main/resources/assets/box3/lang/zh_cn.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,5 +399,6 @@
399399
"command.box3.box3barrier.status": "屏障可见状态:%s",
400400
"command.box3.box3barrier.set": "屏障可见状态已设置为:%s",
401401
"command.box3.box3barrier.toggled": "屏障可见状态已切换为:%s(重新进入世界以完全生效)",
402-
"item.box3.model_destroyer": "模型销毁桶"
402+
"item.box3.model_destroyer": "模型销毁桶",
403+
"flat_world_preset.box3.box3_plains_world": "神岛平原"
403404
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"display": "box3:grass",
3+
"settings": {
4+
"biome": "minecraft:plains",
5+
"lakes": false,
6+
"features": false,
7+
"layers": [
8+
{ "block": "box3:stone", "height": 1 },
9+
{ "block": "box3:dirt", "height": 6 },
10+
{ "block": "box3:grass", "height": 1 }
11+
]
12+
}
13+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"replace": false,
3+
"values": ["box3:box3_plains_world", "box3:box3_custom_noise"]
4+
}

Fabric-1.21.1/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ loader_version=0.18.4
1212
loom_version=1.15-SNAPSHOT
1313

1414
# Mod Properties
15-
mod_version=1.4.0-mc1.21.1
15+
mod_version=1.4.1-mc1.21.1
1616
maven_group=com.box3lab
1717
archives_base_name=box3
1818

Fabric-1.21.1/src/main/java/com/box3lab/block/BouncePadBlock.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,14 @@ public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) {
3131

3232
entity.setDeltaMovement(vel);
3333
}
34+
35+
@Override
36+
public void fallOn(Level level, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
37+
38+
if (entity.isSuppressingBounce()) {
39+
super.fallOn(level, state, pos, entity, fallDistance);
40+
} else {
41+
entity.resetFallDistance();
42+
}
43+
}
3444
}

0 commit comments

Comments
 (0)