小默米的插件
原版WIKI
CustomCrops
CustomCrops
  • 插件WIKI
    • 🍅 CustomCrops
      • ❓️ 常见问题
      • 📄 格式
        • ✏️ 文本
        • 🌽 作物
        • 💦 洒水器
        • 🚰 洒水壶
        • 🪴 种植盆
        • 💩 肥料
        • ⚙️ config.yml
      • 💪 动作
      • ✅ 条件
      • 🅿️ 占位符和表达式
      • 🗡️ 随机刻对比计划刻
      • 🤝 兼容性
        • MMOItems
        • MythicMobs
        • Zaphkiel
        • ExecutableItems
        • NeigeItems
        • 支持的等级系统
        • BetonQuest 2.0
        • BattlePass
        • ClueScrolls
        • TypeWriter
      • ⚡️ 不安全命令
      • ⌨️ 应用程序编程接口
        • 基础操作
        • 自定义机制
        • 事件
        • 其他方块系统
        • 自定义季节提供
由 GitBook 提供支持
在本页
  • 调整 Bukkit 位置
  • 获取 CustomCrops 世界
  • 获取/删除 Blockstate
  • 添加 Blockstate
  • 在 Blockstate 中设置/删除/获取自定义数据
  • 从 Blockstate 获取方块类型
  • 从注册表获取内置方块/物品类型
  • 在 Bukkit 世界上放置/删除方块
  • 获取ID
  • 获取内置物品的配置

这有帮助吗?

  1. 插件WIKI
  2. 🍅 CustomCrops
  3. ⌨️ 应用程序编程接口

基础操作

调整 Bukkit 位置

Pos3 pos3 = Pos3.from(location);

获取 CustomCrops 世界

BukkitCustomCropsPlugin.getInstance().getWorldManager().getWorld(Bukkit.getWorld("world"));

获取/删除 Blockstate

CustomCropsWorld<?> world = ...;
world.getBlockState(pos3);
world.removeBlockState(pos3);

添加 Blockstate

CropBlock cropBlock = (CropBlock) BuiltInBlockMechanics.CROP.mechanic();
CustomCropsBlockState blockState = cropBlock.createBlockState();
cropBlock.id(blockState, "tomato");
cropBlock.point(blockState, 0);
world.addBlockState(pos3, blockState);

在 Blockstate 中设置/删除/获取自定义数据

SynchronizedCompoundMap compoundMap = blockState.compoundMap();
compoundMap.remove("key");
compoundMap.put("key", new StringTag("key", "test"));
compoundMap.get("key");

从 Blockstate 获取方块类型

CustomCropsBlock block = blockState.type();
if (block instanceof CropBlock cropBlock) {
    CropConfig cropConfig = cropBlock.config(blockState);
}

从注册表获取内置方块/物品类型

PotBlock potBlock = (PotBlock) BuiltInBlockMechanics.POT.mechanic();

SeedItem seedItem = (SeedItem) BuiltInItemMechanics.SEED.mechanic();

在 Bukkit 世界上放置/删除方块

ItemManager itemManager = BukkitCustomCropsPlugin.getInstance().getItemManager();
itemManager.placeFurniture(location, "id", FurnitureRotation.NONE);
itemManager.placeBlock(location, "id");
itemManager.removeFurniture(location);
itemManager.removeBlock(location);

获取ID

ItemManager itemManager = BukkitCustomCropsPlugin.getInstance().getItemManager();
String blockID = itemManager.blockID(block);
String furnitureID = itemManager.furnitureID(entity);
String itemID = itemManager.id(itemStack);

获取内置物品的配置

CropConfig cropConfig = Registries.CROP.get("tomato");
SprinklerConfig sprinklerConfig = Registries.SPRINKLER.get("sprinkler");
PotConfig potConfig = Registries.POT.get("default");
WateringCanConfig wateringCanConfig = Registries.WATERING_CAN.get("watering_can_1");
FertilizerConfig fertilizerConfig = Registries.FERTILIZER.get("quality_1");
上一页⌨️ 应用程序编程接口下一页自定义机制

这有帮助吗?