mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-30 20:39:10 +00:00
添加新的函数和条件类型
This commit is contained in:
@@ -42,12 +42,12 @@ public class BukkitEntity extends AbstractEntity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getXRot() {
|
||||
public float xRot() {
|
||||
return literalObject().getYaw();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getYRot() {
|
||||
public float yRot() {
|
||||
return literalObject().getPitch();
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,6 @@ public class ComponentItemWrapper implements ItemWrapper<ItemStack> {
|
||||
|
||||
@Override
|
||||
public void count(int amount) {
|
||||
this.item.setAmount(amount);
|
||||
this.item.setAmount(Math.max(amount, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public class LegacyItemWrapper implements ItemWrapper<ItemStack> {
|
||||
@Override
|
||||
public ItemStack load() {
|
||||
ItemStack itemStack = this.rtagItem.load();
|
||||
itemStack.setAmount(this.count);
|
||||
itemStack.setAmount(Math.max(this.count, 0));
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ public class FurnitureItemBehavior extends ItemBehavior {
|
||||
finalPlacePosition = new Vec3d(xz.left(), xz.right(), clickedPosition.z());
|
||||
}
|
||||
} else {
|
||||
furnitureYaw = placement.rotationRule().apply(180 + player.getXRot());
|
||||
furnitureYaw = placement.rotationRule().apply(180 + player.xRot());
|
||||
Pair<Double, Double> xz = placement.alignmentRule().apply(Pair.of(clickedPosition.x(), clickedPosition.z()));
|
||||
finalPlacePosition = new Vec3d(xz.left(), clickedPosition.y(), xz.right());
|
||||
}
|
||||
|
||||
@@ -675,12 +675,12 @@ public class BukkitServerPlayer extends Player {
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getYRot() {
|
||||
public float yRot() {
|
||||
return platformPlayer().getPitch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getXRot() {
|
||||
public float xRot() {
|
||||
return platformPlayer().getYaw();
|
||||
}
|
||||
|
||||
@@ -838,4 +838,24 @@ public class BukkitServerPlayer extends Player {
|
||||
public boolean isFlying() {
|
||||
return platformPlayer().isFlying();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int foodLevel() {
|
||||
return platformPlayer().getFoodLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFoodLevel(int foodLevel) {
|
||||
this.platformPlayer().setFoodLevel(Math.min(Math.max(0, foodLevel), 20));
|
||||
}
|
||||
|
||||
@Override
|
||||
public float saturation() {
|
||||
return platformPlayer().getSaturation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSaturation(float saturation) {
|
||||
this.platformPlayer().setSaturation(saturation);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package net.momirealms.craftengine.bukkit.util;
|
||||
|
||||
import net.momirealms.craftengine.core.block.BlockSounds;
|
||||
import net.momirealms.craftengine.core.sound.SoundSource;
|
||||
import net.momirealms.craftengine.core.util.Key;
|
||||
import org.bukkit.SoundCategory;
|
||||
|
||||
public class SoundUtils {
|
||||
|
||||
@@ -21,4 +23,19 @@ public class SoundUtils {
|
||||
public static Object getOrRegisterSoundEvent(Key key) throws ReflectiveOperationException {
|
||||
return Reflections.method$SoundEvent$createVariableRangeEvent.invoke(null, KeyUtils.toResourceLocation(key));
|
||||
}
|
||||
|
||||
public static SoundCategory toBukkit(SoundSource source) {
|
||||
return switch (source) {
|
||||
case BLOCK -> SoundCategory.BLOCKS;
|
||||
case MUSIC -> SoundCategory.MUSIC;
|
||||
case VOICE -> SoundCategory.VOICE;
|
||||
case MASTER -> SoundCategory.MASTER;
|
||||
case PLAYER -> SoundCategory.PLAYERS;
|
||||
case RECORD -> SoundCategory.RECORDS;
|
||||
case AMBIENT -> SoundCategory.AMBIENT;
|
||||
case HOSTILE -> SoundCategory.HOSTILE;
|
||||
case NEUTRAL -> SoundCategory.NEUTRAL;
|
||||
case WEATHER -> SoundCategory.WEATHER;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,10 @@ package net.momirealms.craftengine.bukkit.world;
|
||||
import net.momirealms.craftengine.bukkit.nms.FastNMS;
|
||||
import net.momirealms.craftengine.bukkit.util.EntityUtils;
|
||||
import net.momirealms.craftengine.bukkit.util.ItemUtils;
|
||||
import net.momirealms.craftengine.bukkit.util.SoundUtils;
|
||||
import net.momirealms.craftengine.core.block.BlockStateWrapper;
|
||||
import net.momirealms.craftengine.core.item.Item;
|
||||
import net.momirealms.craftengine.core.sound.SoundSource;
|
||||
import net.momirealms.craftengine.core.util.Key;
|
||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||
import net.momirealms.craftengine.core.world.BlockInWorld;
|
||||
@@ -87,6 +89,11 @@ public class BukkitWorld implements World {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSound(Position location, Key sound, float volume, float pitch, SoundSource source) {
|
||||
platformWorld().playSound(new Location(null, location.x(), location.y(), location.z()), sound.toString(), SoundUtils.toBukkit(source), volume, pitch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playBlockSound(Position location, Key sound, float volume, float pitch) {
|
||||
platformWorld().playSound(new Location(null, location.x(), location.y(), location.z()), sound.toString(), SoundCategory.BLOCKS, volume, pitch);
|
||||
|
||||
Reference in New Issue
Block a user