mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2026-01-06 15:52:03 +00:00
字体字符id自动分配
This commit is contained in:
@@ -13,7 +13,7 @@ import net.momirealms.craftengine.bukkit.api.BukkitAdaptors;
|
||||
import net.momirealms.craftengine.core.item.CustomItem;
|
||||
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
||||
import net.momirealms.craftengine.core.util.MCUtils;
|
||||
import net.momirealms.craftengine.core.util.MiscUtils;
|
||||
import net.momirealms.craftengine.core.util.ReflectionUtils;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -42,7 +42,7 @@ public class MythicItemDrop extends ItemDrop implements IItemDrop {
|
||||
context = ItemBuildContext.of(player);
|
||||
}
|
||||
}
|
||||
int amountInt = MCUtils.fastFloor(amount + 0.5F);
|
||||
int amountInt = MiscUtils.fastFloor(amount + 0.5F);
|
||||
ItemStack itemStack = this.customItem.buildItemStack(context, amountInt);
|
||||
return adapt(itemStack).amount(amountInt);
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@ public final class BukkitBlockManager extends AbstractBlockManager {
|
||||
// 注册服务端侧的真实方块
|
||||
private void registerServerSideCustomBlocks(int count) {
|
||||
// 这个会影响全局调色盘
|
||||
if (MCUtils.ceilLog2(this.vanillaBlockStateCount + count) == MCUtils.ceilLog2(this.vanillaBlockStateCount)) {
|
||||
if (MiscUtils.ceilLog2(this.vanillaBlockStateCount + count) == MiscUtils.ceilLog2(this.vanillaBlockStateCount)) {
|
||||
PalettedContainer.NEED_DOWNGRADE = false;
|
||||
}
|
||||
try {
|
||||
|
||||
@@ -20,7 +20,7 @@ import net.momirealms.craftengine.core.item.context.UseOnContext;
|
||||
import net.momirealms.craftengine.core.plugin.context.PlayerOptionalContext;
|
||||
import net.momirealms.craftengine.core.sound.SoundData;
|
||||
import net.momirealms.craftengine.core.util.AdventureHelper;
|
||||
import net.momirealms.craftengine.core.util.MCUtils;
|
||||
import net.momirealms.craftengine.core.util.MiscUtils;
|
||||
import net.momirealms.craftengine.core.util.ResourceConfigUtils;
|
||||
import net.momirealms.craftengine.core.world.BlockPos;
|
||||
import net.momirealms.craftengine.core.world.CEWorld;
|
||||
@@ -166,7 +166,7 @@ public class SimpleStorageBlockBehavior extends BukkitBlockBehavior implements E
|
||||
}
|
||||
}
|
||||
signal /= (float) inventory.getSize();
|
||||
return MCUtils.lerpDiscrete(signal, 0, 15);
|
||||
return MiscUtils.lerpDiscrete(signal, 0, 15);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@@ -194,7 +194,7 @@ public class SimpleStorageBlockBehavior extends BukkitBlockBehavior implements E
|
||||
@Override
|
||||
public BlockBehavior create(CustomBlock block, Map<String, Object> arguments) {
|
||||
String title = arguments.getOrDefault("title", "").toString();
|
||||
int rows = MCUtils.clamp(ResourceConfigUtils.getAsInt(arguments.getOrDefault("rows", 1), "rows"), 1, 6);
|
||||
int rows = MiscUtils.clamp(ResourceConfigUtils.getAsInt(arguments.getOrDefault("rows", 1), "rows"), 1, 6);
|
||||
Map<String, Object> sounds = (Map<String, Object>) arguments.get("sounds");
|
||||
boolean hasAnalogOutputSignal = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("has-signal", true), "has-signal");
|
||||
SoundData openSound = null;
|
||||
|
||||
@@ -171,7 +171,7 @@ public class ShulkerHitBox extends AbstractHitBox {
|
||||
}
|
||||
|
||||
private static float getPhysicalPeek(float peek) {
|
||||
return 0.5F - MCUtils.sin((0.5F + peek) * 3.1415927F) * 0.5F;
|
||||
return 0.5F - MiscUtils.sin((0.5F + peek) * 3.1415927F) * 0.5F;
|
||||
}
|
||||
|
||||
public boolean interactionEntity() {
|
||||
|
||||
@@ -17,7 +17,6 @@ import net.momirealms.craftengine.core.block.ImmutableBlockState;
|
||||
import net.momirealms.craftengine.core.block.UpdateOption;
|
||||
import net.momirealms.craftengine.core.block.properties.Property;
|
||||
import net.momirealms.craftengine.core.item.Item;
|
||||
import net.momirealms.craftengine.core.util.MCUtils;
|
||||
import net.momirealms.craftengine.core.util.MiscUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
@@ -119,7 +118,7 @@ public class DebugStickListener implements Listener {
|
||||
}
|
||||
|
||||
private static <T> T getRelative(Iterable<T> elements, @Nullable T current, boolean inverse) {
|
||||
return inverse ? MCUtils.findPreviousInIterable(elements, current) : MCUtils.findNextInIterable(elements, current);
|
||||
return inverse ? MiscUtils.findPreviousInIterable(elements, current) : MiscUtils.findNextInIterable(elements, current);
|
||||
}
|
||||
|
||||
private static <T extends Comparable<T>> String getNameHelper(ImmutableBlockState state, Property<T> property) {
|
||||
|
||||
@@ -474,9 +474,9 @@ public class ItemEventListener implements Listener {
|
||||
if (foodData == null) return;
|
||||
event.setCancelled(true);
|
||||
int oldFoodLevel = player.getFoodLevel();
|
||||
if (foodData.nutrition() != 0) player.setFoodLevel(MCUtils.clamp(oldFoodLevel + foodData.nutrition(), 0, 20));
|
||||
if (foodData.nutrition() != 0) player.setFoodLevel(MiscUtils.clamp(oldFoodLevel + foodData.nutrition(), 0, 20));
|
||||
float oldSaturation = player.getSaturation();
|
||||
if (foodData.saturation() != 0) player.setSaturation(MCUtils.clamp(oldSaturation, 0, 10));
|
||||
if (foodData.saturation() != 0) player.setSaturation(MiscUtils.clamp(oldSaturation, 0, 10));
|
||||
}
|
||||
|
||||
private boolean cancelEventIfHasInteraction(PlayerInteractEvent event, BukkitServerPlayer player, InteractionHand hand) {
|
||||
|
||||
@@ -12,7 +12,6 @@ import net.momirealms.craftengine.bukkit.util.InventoryUtils;
|
||||
import net.momirealms.craftengine.bukkit.util.LegacyInventoryUtils;
|
||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
||||
import net.momirealms.craftengine.core.plugin.gui.*;
|
||||
import net.momirealms.craftengine.core.util.ReflectionUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -23,11 +22,9 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
import org.bukkit.inventory.MenuType;
|
||||
|
||||
public class BukkitGuiManager implements GuiManager, Listener {
|
||||
private static final boolean useNewOpenInventory = ReflectionUtils.getDeclaredMethod(InventoryView.class, void.class, new String[]{"open"}) != null;
|
||||
// private static final boolean useNewOpenInventory = ReflectionUtils.getDeclaredMethod(InventoryView.class, void.class, new String[]{"open"}) != null;
|
||||
private static BukkitGuiManager instance;
|
||||
private final BukkitCraftEngine plugin;
|
||||
|
||||
@@ -46,21 +43,21 @@ public class BukkitGuiManager implements GuiManager, Listener {
|
||||
HandlerList.unregisterAll(this);
|
||||
}
|
||||
|
||||
@SuppressWarnings("UnstableApiUsage")
|
||||
// @SuppressWarnings("UnstableApiUsage")
|
||||
@Override
|
||||
public void openInventory(net.momirealms.craftengine.core.entity.player.Player player, GuiType guiType) {
|
||||
Player bukkitPlayer = (Player) player.platformPlayer();
|
||||
if (useNewOpenInventory) {
|
||||
switch (guiType) {
|
||||
case ANVIL -> MenuType.ANVIL.create(bukkitPlayer).open();
|
||||
case LOOM -> MenuType.LOOM.create(bukkitPlayer).open();
|
||||
case ENCHANTMENT -> MenuType.ENCHANTMENT.create(bukkitPlayer).open();
|
||||
case CRAFTING -> MenuType.CRAFTING.create(bukkitPlayer).open();
|
||||
case CARTOGRAPHY -> MenuType.CARTOGRAPHY_TABLE.create(bukkitPlayer).open();
|
||||
case SMITHING -> MenuType.SMITHING.create(bukkitPlayer).open();
|
||||
case GRINDSTONE -> MenuType.GRINDSTONE.create(bukkitPlayer).open();
|
||||
}
|
||||
} else {
|
||||
// if (useNewOpenInventory) {
|
||||
// switch (guiType) {
|
||||
// case ANVIL -> MenuType.ANVIL.create(bukkitPlayer).open();
|
||||
// case LOOM -> MenuType.LOOM.create(bukkitPlayer).open();
|
||||
// case ENCHANTMENT -> MenuType.ENCHANTMENT.create(bukkitPlayer).open();
|
||||
// case CRAFTING -> MenuType.CRAFTING.create(bukkitPlayer).open();
|
||||
// case CARTOGRAPHY -> MenuType.CARTOGRAPHY_TABLE.create(bukkitPlayer).open();
|
||||
// case SMITHING -> MenuType.SMITHING.create(bukkitPlayer).open();
|
||||
// case GRINDSTONE -> MenuType.GRINDSTONE.create(bukkitPlayer).open();
|
||||
// }
|
||||
// } else {
|
||||
switch (guiType) {
|
||||
case ANVIL -> LegacyInventoryUtils.openAnvil(bukkitPlayer);
|
||||
case LOOM -> LegacyInventoryUtils.openLoom(bukkitPlayer);
|
||||
@@ -70,7 +67,7 @@ public class BukkitGuiManager implements GuiManager, Listener {
|
||||
case ENCHANTMENT -> LegacyInventoryUtils.openEnchanting(bukkitPlayer);
|
||||
case CARTOGRAPHY -> LegacyInventoryUtils.openCartographyTable(bukkitPlayer);
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,7 +16,7 @@ import net.momirealms.craftengine.core.plugin.network.EntityPacketHandler;
|
||||
import net.momirealms.craftengine.core.plugin.network.NMSPacketEvent;
|
||||
import net.momirealms.craftengine.core.plugin.network.NetWorkUser;
|
||||
import net.momirealms.craftengine.core.util.FriendlyByteBuf;
|
||||
import net.momirealms.craftengine.core.util.MCUtils;
|
||||
import net.momirealms.craftengine.core.util.MiscUtils;
|
||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||
import net.momirealms.craftengine.core.world.Vec3d;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -89,8 +89,8 @@ public class ProjectilePacketHandler implements EntityPacketHandler {
|
||||
buf.writeDouble(y);
|
||||
buf.writeDouble(z);
|
||||
if (VersionHelper.isOrAbove1_21_9()) buf.writeLpVec3(movement);
|
||||
buf.writeByte(MCUtils.packDegrees(MCUtils.clamp(-MCUtils.unpackDegrees(xRot), -90.0F, 90.0F)));
|
||||
buf.writeByte(MCUtils.packDegrees(-MCUtils.unpackDegrees(yRot)));
|
||||
buf.writeByte(MiscUtils.packDegrees(MiscUtils.clamp(-MiscUtils.unpackDegrees(xRot), -90.0F, 90.0F)));
|
||||
buf.writeByte(MiscUtils.packDegrees(-MiscUtils.unpackDegrees(yRot)));
|
||||
buf.writeByte(yHeadRot);
|
||||
buf.writeVarInt(data);
|
||||
if (!VersionHelper.isOrAbove1_21_9()) buf.writeShort(xa);
|
||||
@@ -142,12 +142,12 @@ public class ProjectilePacketHandler implements EntityPacketHandler {
|
||||
short xa = FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$xa(packet);
|
||||
short ya = FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$ya(packet);
|
||||
short za = FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$za(packet);
|
||||
float xRot = MCUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$xRot(packet));
|
||||
float yRot = MCUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$yRot(packet));
|
||||
float xRot = MiscUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$xRot(packet));
|
||||
float yRot = MiscUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$yRot(packet));
|
||||
boolean onGround = FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$onGround(packet);
|
||||
return FastNMS.INSTANCE.constructor$ClientboundMoveEntityPacket$PosRot(
|
||||
entityId, xa, ya, za,
|
||||
MCUtils.packDegrees(-yRot), MCUtils.packDegrees(MCUtils.clamp(-xRot, -90.0F, 90.0F)),
|
||||
MiscUtils.packDegrees(-yRot), MiscUtils.packDegrees(MiscUtils.clamp(-xRot, -90.0F, 90.0F)),
|
||||
onGround
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user