Merge branch 'master' into 1.16
This commit is contained in:
commit
bba9f4e88d
5 files changed
+55
-6
No files matched your search
@@ -75,6 +75,7 @@ public class PlayerCommand
|
||||
.then(literal("west").executes(manipulation(ap -> ap.look(Direction.WEST))))
|
||||
.then(literal("up").executes(manipulation(ap -> ap.look(Direction.UP))))
|
||||
.then(literal("down").executes(manipulation(ap -> ap.look(Direction.DOWN))))
|
||||
.then(literal("at").then(argument("position", Vec3ArgumentType.vec3()).executes(PlayerCommand::lookAt)))
|
||||
.then(argument("direction", RotationArgumentType.rotation())
|
||||
.executes(c -> manipulate(c, ap -> ap.look(RotationArgumentType.getRotation(c, "direction").toAbsoluteRotation(c.getSource())))))
|
||||
).then(literal("turn")
|
||||
@@ -206,6 +207,15 @@ public class PlayerCommand
|
||||
return 1;
|
||||
}
|
||||
|
||||
private static int lookAt(CommandContext<ServerCommandSource> context)
|
||||
{
|
||||
return manipulate(context, ap -> {
|
||||
try {
|
||||
ap.lookAt(Vec3ArgumentType.getVec3(context, "position"));
|
||||
} catch (CommandSyntaxException ignored) {}
|
||||
});
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
interface SupplierWithCommandSyntaxException<T>
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@ package carpet.helpers;
|
||||
|
||||
import carpet.fakes.ServerPlayerEntityInterface;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.command.arguments.EntityAnchorArgumentType;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.passive.HorseBaseEntity;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
@@ -127,6 +128,12 @@ public class EntityPlayerActionPack
|
||||
return this;
|
||||
}
|
||||
|
||||
public EntityPlayerActionPack lookAt(Vec3d position)
|
||||
{
|
||||
player.lookAt(EntityAnchorArgumentType.EntityAnchor.EYES, position);
|
||||
return this;
|
||||
}
|
||||
|
||||
public EntityPlayerActionPack turn(float yaw, float pitch)
|
||||
{
|
||||
return look(player.yaw + yaw, player.pitch + pitch);
|
||||
|
||||
@@ -97,8 +97,24 @@ public class MapValue extends AbstractListValue implements ContainerValueInterfa
|
||||
@Override
|
||||
public Value add(Value o)
|
||||
{
|
||||
append(o);
|
||||
return this;
|
||||
Map<Value, Value> newItems = new HashMap<>(map);
|
||||
if (o instanceof MapValue)
|
||||
{
|
||||
newItems.putAll(((MapValue) o).map);
|
||||
}
|
||||
else if (o instanceof AbstractListValue)
|
||||
{
|
||||
Iterator<Value> it = ((AbstractListValue) o).iterator();
|
||||
while (it.hasNext())
|
||||
{
|
||||
newItems.put(it.next(), Value.NULL);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
newItems.put(o, Value.NULL);
|
||||
}
|
||||
return MapValue.wrap(newItems);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user