8
8
import mods .railcraft .util .EntitySearcher ;
9
9
import mods .railcraft .util .ModEntitySelector ;
10
10
import mods .railcraft .world .level .block .RailcraftBlocks ;
11
+ import net .minecraft .server .level .ServerLevel ;
11
12
import net .minecraft .world .entity .Entity ;
12
13
import net .minecraft .world .entity .EntitySelector ;
13
14
import net .minecraft .world .entity .LivingEntity ;
16
17
import net .minecraft .world .entity .item .ItemEntity ;
17
18
import net .minecraft .world .entity .player .Player ;
18
19
import net .minecraft .world .entity .vehicle .AbstractMinecart ;
20
+ import net .minecraft .world .level .GameRules ;
19
21
import net .minecraft .world .phys .AABB ;
20
22
import net .minecraft .world .phys .Vec3 ;
21
23
import net .minecraftforge .common .IMinecartCollisionHandler ;
@@ -41,6 +43,7 @@ public void onEntityCollision(AbstractMinecart cart, Entity other) {
41
43
|| !other .isAlive () || !cart .isAlive ()) {
42
44
return ;
43
45
}
46
+ var serverLevel = (ServerLevel ) level ;
44
47
45
48
var rollingStock = RollingStock .getOrThrow (cart );
46
49
@@ -84,7 +87,8 @@ public void onEntityCollision(AbstractMinecart cart, Entity other) {
84
87
.around (cart )
85
88
.and (EntitySelector .ENTITY_STILL_ALIVE , ModEntitySelector .NON_MECHANICAL )
86
89
.list (level );
87
- if (carts .size () >= 12 ) {
90
+ var maxEntityCramming = serverLevel .getGameRules ().getInt (GameRules .RULE_MAX_ENTITY_CRAMMING );
91
+ if (carts .size () >= maxEntityCramming ) {
88
92
rollingStock .primeExplosion ();
89
93
}
90
94
}
0 commit comments