Class CustomContainerPlugin

java.lang.Object
com.mclds.plugins.customplugin.CustomPlugin
com.mclds.plugins.mcldscustomcontainer.CustomContainerPlugin

public class CustomContainerPlugin extends CustomPlugin
  • Field Details

    • CUSTOM_CONTAINER_BLOCK

      public static org.bukkit.Material CUSTOM_CONTAINER_BLOCK
      使用木桶作为自定义容器
    • CUSTOM_CONTAINER_INVENTORY

      public static org.bukkit.event.inventory.InventoryType CUSTOM_CONTAINER_INVENTORY
      使用木桶作为自定义容器
    • RECORD_GUI_OPEN_COMMAND_NAME

      public static String RECORD_GUI_OPEN_COMMAND_NAME
    • customContainerDataHandler

      public CustomContainerDataHandler customContainerDataHandler
    • DISABLED_SHOP_ITEM

      public static final List<org.bukkit.Material> DISABLED_SHOP_ITEM
      禁售和禁卖的物品
  • Constructor Details

    • CustomContainerPlugin

      public CustomContainerPlugin(org.bukkit.plugin.java.JavaPlugin javaPlugin, CustomContainerDataHandler customContainerDataHandler)
  • Method Details

    • onEnable

      public void onEnable() throws IOException
      Overrides:
      onEnable in class CustomPlugin
      Throws:
      IOException
    • getCustomContainerData

      @Nullable public @Nullable CustomContainerData getCustomContainerData(org.bukkit.block.Block block)
    • hasCustomContainerData

      public boolean hasCustomContainerData(org.bukkit.block.Block block)
    • setCustomContainerData

      public boolean setCustomContainerData(org.bukkit.entity.Player player, org.bukkit.block.Block containerBlock, CustomContainerData customContainerData)
    • tryGetCustomContainerData

      @Nullable public @Nullable CustomContainerData tryGetCustomContainerData(org.bukkit.block.Block block)
      尽可能的获取容器数据,包括对牌子,和大箱子的判断
    • isLockable

      public boolean isLockable(org.bukkit.block.Block block)
      可上锁的方块:木桶与箱子
    • isShopOnlyBlock

      public boolean isShopOnlyBlock(org.bukkit.block.Block block)
      仅支持木桶的方块(商店/邮箱等)
    • getPartnerHalf

      @Nullable public static @Nullable org.bukkit.block.Block getPartnerHalf(org.bukkit.block.Block block)
      获取双箱的另一半方块;单箱或非箱子返回 null
    • applyLockToBlock

      public void applyLockToBlock(org.bukkit.block.Block half, CustomContainerData template, PermissionContainer pc)
      将锁数据(CCD + permission-container)写入指定半边方块
    • lockContainer

      public void lockContainer(org.bukkit.entity.Player player, org.bukkit.block.Block block, org.bukkit.util.Vector direction)
      统一上锁入口:双击F菜单、/lock 命令、手持木牌 SHIFT+右键 均收敛到此。 仅箱子/木桶可上锁;商店类保持木桶专用(在 CreateGui 中拦截)。
    • removeLockFromBlock

      public void removeLockFromBlock(org.bukkit.block.Block block)
      仅移除指定半边方块的锁数据与牌子(用于拥有者直接破坏)。 不触碰另一半,使双箱变单箱时另一半保留锁与物品。
    • removeCustomContainer

      public void removeCustomContainer(org.bukkit.entity.Player player, org.bukkit.block.Block containerBlock)
    • removeCustomContainerBySystem

      public void removeCustomContainerBySystem(org.bukkit.block.Block containerBlock)
    • getPlayerCustomContainerUnreadMessageCount

      public int getPlayerCustomContainerUnreadMessageCount(org.bukkit.entity.Player player)
      获取玩家自定义容器未读记录数量 目前用于脚本引擎使用
      Parameters:
      player -
      Returns:
    • showCustomContainerRecordGui

      public void showCustomContainerRecordGui(org.bukkit.entity.Player viewer, org.bukkit.OfflinePlayer owner, @Nullable @Nullable Integer radius)
      打开自定义容器列表菜单,可以选择距离范围内