メインクラス以外でもgetConfigなどを使いたい

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.272947)

メインクラス以外でもgetConfigなどを使いたい

投稿記事by SREUNIMN » 2016年5月16日(月) 19:45

今メインクラス以外でもgetConfigやsaveConfigなどを使えるようにする方法を探しています
過去の質問を見てやってみたのですが
使えるようにはならなかったので質問しました

メイン
コード: 全て選択
package sem.rpg.mcrpg;

import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class MCRPG extends JavaPlugin {
   public static MCRPG plugin;
   public final MCRPGInventory rpgiv = new MCRPGInventory(this);
   public final MCRPGEvent rpgev = new MCRPGEvent(this);
   
   @Override
   public void onEnable(){
      PluginManager pm = getServer().getPluginManager();
      pm.registerEvents(this.rpgiv, this);
      getCommand("mcrpg").setExecutor(new MCRPGInventory(null));
   }
   
   @Override
   public void onDisable(){

   }
      
}


サブ
コード: 全て選択
package sem.rpg.mcrpg;

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class MCRPGInventory implements CommandExecutor, Listener {
   public static MCRPG plugin;
   
   @SuppressWarnings("static-access")
   MCRPGInventory(MCRPG plugin){
      this.plugin = plugin;
   }

   public static Inventory MCRPGInventory = Bukkit.createInventory(null, 9, "MCRPGInventory");
   static{
      ItemStack item = new ItemStack(Material.IRON_SWORD);
      ItemMeta meta = item.getItemMeta();
      meta.setDisplayName(ChatColor.GOLD + "Strength");
      ArrayList<String> Lore = new ArrayList<String>();
      Lore.add(ChatColor.GREEN + "Strength ability");
      meta.setLore(Lore);
      item.setItemMeta(meta);
      
      ItemStack item2 = new ItemStack(Material.GOLD_HOE);
      ItemMeta meta2 = item2.getItemMeta();
      meta2.setDisplayName(ChatColor.GOLD + "Intelligence");
      ArrayList<String> Lore2 = new ArrayList<String>();
      Lore2.add(ChatColor.GREEN + "Intelligence ability");
      meta2.setLore(Lore2);
      item2.setItemMeta(meta2);
      
      ItemStack item3 = new ItemStack(Material.LEATHER_BOOTS);
      ItemMeta meta3 = item3.getItemMeta();
      meta3.setDisplayName(ChatColor.GOLD + "Agility");
      ArrayList<String> Lore3 = new ArrayList<String>();
      Lore3.add(ChatColor.GREEN + "Agility ability");
      meta3.setLore(Lore3);
      item3.setItemMeta(meta3);
      
      ItemStack item4 = new ItemStack(Material.SHIELD);
      ItemMeta meta4 = item4.getItemMeta();
      meta4.setDisplayName(ChatColor.GOLD + "Defense");
      ArrayList<String> Lore4 = new ArrayList<String>();
      Lore4.add(ChatColor.GREEN + "Defense ability");
      meta4.setLore(Lore4);
      item4.setItemMeta(meta4);
      
      ItemStack item5 = new ItemStack(Material.GOLDEN_APPLE);
      ItemMeta meta5 = item5.getItemMeta();
      meta5.setDisplayName(ChatColor.GOLD + "Spirit");
      ArrayList<String> Lore5 = new ArrayList<String>();
      Lore5.add(ChatColor.GREEN + "Spirit ability");
      meta5.setLore(Lore5);
      item5.setItemMeta(meta5);
      
      MCRPGInventory.setItem(0, item);
      MCRPGInventory.setItem(1, item2);
      MCRPGInventory.setItem(2, item3);
      MCRPGInventory.setItem(3, item4);
      MCRPGInventory.setItem(4, item5);}
   
   @EventHandler
   public void onClick(InventoryClickEvent event){
      Player player = (Player)event.getWhoClicked();
      Location l = player.getLocation();
      ItemStack clicked = event.getCurrentItem();
      String name = clicked.getItemMeta().getDisplayName();
      Inventory iv = event.getInventory();
      if(iv.getName().equals(MCRPGInventory.getName())){
         event.setCancelled(true);
         if(clicked.getType() == Material.IRON_SWORD){
            if(name.equals(ChatColor.GOLD + "Strength")){
               player.playSound(l, Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 10, 1);}}
   
            if(clicked.getType() == Material.GOLD_HOE){
               if(name.equals(ChatColor.GOLD + "Intelligence")){
                  player.playSound(l, Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 10, 1);}}
            
         if(clicked.getType() == Material.LEATHER_BOOTS){
            if(name.equals(ChatColor.GOLD + "Agility")){
               player.playSound(l, Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 10, 1);}}
         
         if(clicked.getType() == Material.SHIELD){
            if(name.equals(ChatColor.GOLD + "Defense")){
               player.playSound(l, Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 10, 1);}}
         
         if(clicked.getType() == Material.GOLDEN_APPLE){
            if(name.equals(ChatColor.GOLD + "Spirit")){
               player.playSound(l, Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 10, 1);}}}}
         

   @Override
   public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] arg){
      if(cmd.getName().equalsIgnoreCase("mcrpg")){
         Player player = (Player)sender;
         player.openInventory(MCRPGInventory);
         return true;
      }
      return false;
   }


こんな感じなのですが
間違っているところ、欠けているところが
あったら教えてください
説明下手ですみませんでした
よろしくお願いします
最後に編集したユーザー SREUNIMN [ 2016年5月17日(火) 17:19 ], 累計 1 回
SREUNIMN
ID:f86fe74b
木を殴ってる
 
記事: 28
登録日時: 2016年5月16日(月) 19:36

  • (PostNo.272967)

Re: メインクラス以外でもgetConfigなどを使いたい

投稿記事by youzuki » 2016年5月16日(月) 21:05

どの辺りで使いたいのかはしりませんが
plugin.getConfig()で出来ると思います
絵描きの人です。
https://twitter.com/Shiro_Youduki
アバター
youzuki
ID:d35f43a3
石炭掘り
 
記事: 188
登録日時: 2013年10月10日(木) 20:28

  • (PostNo.273256)

Re: メインクラス以外でもgetConfigなどを使いたい

投稿記事by SREUNIMN » 2016年5月21日(土) 15:19

できました! pluginをつけるのを忘れていたようです...
ありがとうございました!
SREUNIMN
ID:f86fe74b
木を殴ってる
 
記事: 28
登録日時: 2016年5月16日(月) 19:36


Return to 質問:開発・制作関連

x