mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-30 20:39:10 +00:00
增强数字参数
This commit is contained in:
@@ -150,11 +150,11 @@ public class BlockEventListener implements Listener {
|
||||
}
|
||||
|
||||
// drop items
|
||||
ContextHolder.Builder builder = ContextHolder.builder();
|
||||
builder.withParameter(CommonParameters.WORLD, world);
|
||||
builder.withParameter(CommonParameters.LOCATION, vec3d);
|
||||
builder.withParameter(CommonParameters.PLAYER, serverPlayer);
|
||||
builder.withOptionalParameter(CommonParameters.TOOL, itemInHand);
|
||||
ContextHolder.Builder builder = ContextHolder.builder()
|
||||
.withParameter(CommonParameters.WORLD, world)
|
||||
.withParameter(CommonParameters.LOCATION, vec3d)
|
||||
.withParameter(CommonParameters.PLAYER, serverPlayer)
|
||||
.withOptionalParameter(CommonParameters.TOOL, itemInHand);
|
||||
for (Item<Object> item : state.getDrops(builder, world)) {
|
||||
world.dropItemNaturally(vec3d, item);
|
||||
}
|
||||
@@ -171,11 +171,11 @@ public class BlockEventListener implements Listener {
|
||||
BukkitServerPlayer serverPlayer = this.plugin.adapt(player);
|
||||
net.momirealms.craftengine.core.world.World world = new BukkitWorld(player.getWorld());
|
||||
Vec3d vec3d = new Vec3d(location.getBlockX() + 0.5, location.getBlockY() + 0.5, location.getBlockZ() + 0.5);
|
||||
ContextHolder.Builder builder = ContextHolder.builder();
|
||||
builder.withParameter(CommonParameters.WORLD, world);
|
||||
builder.withParameter(CommonParameters.LOCATION, vec3d);
|
||||
builder.withParameter(CommonParameters.PLAYER, serverPlayer);
|
||||
builder.withOptionalParameter(CommonParameters.TOOL, serverPlayer.getItemInHand(InteractionHand.MAIN_HAND));
|
||||
ContextHolder.Builder builder = ContextHolder.builder()
|
||||
.withParameter(CommonParameters.WORLD, world)
|
||||
.withParameter(CommonParameters.LOCATION, vec3d)
|
||||
.withParameter(CommonParameters.PLAYER, serverPlayer)
|
||||
.withOptionalParameter(CommonParameters.TOOL, serverPlayer.getItemInHand(InteractionHand.MAIN_HAND));
|
||||
ContextHolder contextHolder = builder.build();
|
||||
for (LootTable<?> lootTable : it.lootTables()) {
|
||||
for (Item<?> item : lootTable.getRandomItems(contextHolder, world)) {
|
||||
@@ -213,9 +213,9 @@ public class BlockEventListener implements Listener {
|
||||
Location location = block.getLocation();
|
||||
net.momirealms.craftengine.core.world.World world = new BukkitWorld(block.getWorld());
|
||||
Vec3d vec3d = new Vec3d(location.getBlockX() + 0.5, location.getBlockY() + 0.5, location.getBlockZ() + 0.5);
|
||||
ContextHolder.Builder builder = ContextHolder.builder();
|
||||
builder.withParameter(CommonParameters.WORLD, world);
|
||||
builder.withParameter(CommonParameters.LOCATION, vec3d);
|
||||
ContextHolder.Builder builder = ContextHolder.builder()
|
||||
.withParameter(CommonParameters.WORLD, world)
|
||||
.withParameter(CommonParameters.LOCATION, vec3d);
|
||||
for (Item<?> item : immutableBlockState.getDrops(builder, world)) {
|
||||
world.dropItemNaturally(vec3d, item);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class CropBlockBehavior extends BushBlockBehavior {
|
||||
public static final Factory FACTORY = new Factory();
|
||||
@@ -148,7 +147,7 @@ public class CropBlockBehavior extends BushBlockBehavior {
|
||||
int z = FastNMS.INSTANCE.field$Vec3i$z(pos);
|
||||
|
||||
net.momirealms.craftengine.core.world.World wrappedWorld = new BukkitWorld(world);
|
||||
int i = this.getAge(immutableBlockState) + this.boneMealBonus.getInt(new LootContext(wrappedWorld, 1, ThreadLocalRandom.current(), ContextHolder.builder()
|
||||
int i = this.getAge(immutableBlockState) + this.boneMealBonus.getInt(new LootContext(wrappedWorld, 1, ContextHolder.builder()
|
||||
.withParameter(CommonParameters.WORLD, wrappedWorld)
|
||||
.withParameter(CommonParameters.LOCATION, Vec3d.atCenterOf(new Vec3i(x, y, z)))
|
||||
.build()));
|
||||
|
||||
@@ -752,7 +752,7 @@ public class RecipeEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
|
||||
Item<ItemStack> newItem = customItem.buildItem(ItemBuildContext.of(plugin.adapt(player), ContextHolder.EMPTY));
|
||||
Item<ItemStack> newItem = customItem.buildItem(ItemBuildContext.of(plugin.adapt(player)));
|
||||
int remainingDurability = totalMaxDamage - totalDamage;
|
||||
int newItemDamage = Math.max(0, newItem.maxDamage().get() - remainingDurability);
|
||||
newItem.damage(newItemDamage);
|
||||
|
||||
@@ -70,7 +70,6 @@ public class BukkitVanillaLootManager extends AbstractVanillaLootManager impleme
|
||||
ContextHolder.Builder builder = ContextHolder.builder();
|
||||
builder.withParameter(CommonParameters.WORLD, world);
|
||||
builder.withParameter(CommonParameters.LOCATION, vec3d);
|
||||
// TODO Vanilla State Parameter
|
||||
if (VersionHelper.isOrAbove1_20_5()) {
|
||||
if (event.getDamageSource().getCausingEntity() instanceof Player player) {
|
||||
BukkitServerPlayer serverPlayer = this.plugin.adapt(player);
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package net.momirealms.craftengine.bukkit.plugin.command.feature;
|
||||
|
||||
import com.saicone.rtag.util.ChatComponent;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.momirealms.craftengine.bukkit.plugin.command.BukkitCommandFeature;
|
||||
import net.momirealms.craftengine.bukkit.util.ComponentUtils;
|
||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
||||
import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager;
|
||||
import net.momirealms.craftengine.core.plugin.context.ContextHolder;
|
||||
import net.momirealms.craftengine.core.plugin.context.PlayerOptionalContext;
|
||||
import net.momirealms.craftengine.core.util.AdventureHelper;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -24,10 +23,9 @@ public class TestCommand extends BukkitCommandFeature<CommandSender> {
|
||||
.senderType(Player.class)
|
||||
.required("text", StringParser.greedyStringParser())
|
||||
.handler(context -> {
|
||||
plugin().senderFactory().wrap(context.sender()).sendMessage(Component.text(
|
||||
ChatComponent.toTag(ComponentUtils.adventureToMinecraft(AdventureHelper.miniMessage().deserialize(context.get("text")))).toString()
|
||||
));
|
||||
plugin().senderFactory().wrap(context.sender()).sendMessage(AdventureHelper.miniMessage().deserialize(context.get("text")));
|
||||
String text = "<red><arg:1:0912012><papi:player_name></red>";
|
||||
PlayerOptionalContext context1 = PlayerOptionalContext.of(plugin().adapt(context.sender()), ContextHolder.builder());
|
||||
plugin().senderFactory().wrap(context.sender()).sendMessage(AdventureHelper.customMiniMessage().deserialize(text, context1.tagResolvers()));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -199,7 +199,6 @@ public class PacketConsumers {
|
||||
buf.writeInt(chunkZ);
|
||||
if (VersionHelper.isOrAbove1_21_5()) {
|
||||
buf.writeVarInt(heightmapsCount);
|
||||
assert heightmapsMap != null;
|
||||
for (Map.Entry<Integer, long[]> entry : heightmapsMap.entrySet()) {
|
||||
buf.writeVarInt(entry.getKey());
|
||||
buf.writeLongArray(entry.getValue());
|
||||
|
||||
Reference in New Issue
Block a user