Add config to remove player as vehicle restriction in /ride (#12327)

This commit is contained in:
Shane Bee
2025-03-23 16:55:15 -07:00
committed by GitHub
parent 515e12ca2d
commit 5a6ab97be6
2 changed files with 13 additions and 1 deletions

View File

@@ -0,0 +1,11 @@
--- a/net/minecraft/server/commands/RideCommand.java
+++ b/net/minecraft/server/commands/RideCommand.java
@@ -58,7 +_,7 @@
Entity vehicle1 = target.getVehicle();
if (vehicle1 != null) {
throw ERROR_ALREADY_RIDING.create(target.getDisplayName(), vehicle1.getDisplayName());
- } else if (vehicle.getType() == EntityType.PLAYER) {
+ } else if (vehicle.getType() == EntityType.PLAYER && !io.papermc.paper.configuration.GlobalConfiguration.get().commands.rideCommandAllowPlayerAsVehicle) { // Paper - allow player as vehicle
throw ERROR_MOUNTING_PLAYER.create();
} else if (target.getSelfAndPassengers().anyMatch(passenger -> passenger == vehicle)) {
throw ERROR_MOUNTING_LOOP.create();

View File

@@ -12,7 +12,6 @@ import net.minecraft.core.component.DataComponents;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ServerboundPlaceRecipePacket;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Items;
import org.jspecify.annotations.Nullable;
import org.slf4j.Logger;
import org.spongepowered.configurate.objectmapping.ConfigSerializable;
@@ -202,6 +201,8 @@ public class GlobalConfiguration extends ConfigurationPart {
public class Commands extends ConfigurationPart {
public boolean suggestPlayerNamesWhenNullTabCompletions = true;
public boolean timeCommandAffectsAllWorlds = false;
@Comment("Allow mounting entities to a player in the Vanilla '/ride' command.")
public boolean rideCommandAllowPlayerAsVehicle = false;
}
public Logging logging;