You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
4.1 KiB
103 lines
4.1 KiB
1 year ago
|
package org.poopki.duckdns.user_db.Research;
|
||
|
|
||
|
import dev.lone.itemsadder.api.CustomStack;
|
||
|
import org.bukkit.Bukkit;
|
||
|
import org.bukkit.entity.Player;
|
||
|
import org.bukkit.inventory.Inventory;
|
||
|
import org.bukkit.inventory.ItemStack;
|
||
|
import org.bukkit.plugin.Plugin;
|
||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||
|
import org.bukkit.boss.*;
|
||
|
import org.poopki.duckdns.user_db.Array.Account;
|
||
|
import org.poopki.duckdns.user_db.Array.NationArray;
|
||
|
import org.poopki.duckdns.user_db.UserInfoArray;
|
||
|
|
||
|
import java.sql.SQLException;
|
||
|
import java.util.*;
|
||
|
|
||
|
public class Research {
|
||
|
public Inventory research_tab;
|
||
|
public String m_title;
|
||
|
public Double m_progress=0.0;
|
||
|
public ArrayList <ItemStack> m_material = new ArrayList<ItemStack>();
|
||
|
public BossBar tech1_progressbar;
|
||
|
public Integer research_point=0;
|
||
|
public Research(String title, Plugin plugin, List<UUID>MemberList) {
|
||
|
research_tab = Bukkit.createInventory(null, 54, title);
|
||
|
tech1_progressbar = Bukkit.createBossBar(m_title, BarColor.BLUE,BarStyle.SOLID);
|
||
|
new BukkitRunnable(){
|
||
|
@Override
|
||
|
public void run(){
|
||
|
if(CheckItem()){
|
||
|
if(1<=m_progress) {
|
||
|
research_point = research_point+1;
|
||
|
m_progress = 0.0;
|
||
|
for(UUID key: MemberList){
|
||
|
if(Bukkit.getPlayer(key) != null){
|
||
|
Bukkit.getPlayer(key).sendMessage("국가의 연구가 완료되었습니다.");
|
||
|
}
|
||
|
}
|
||
|
}else{
|
||
|
System.out.println(m_progress);
|
||
|
m_progress = m_progress + 0.2;
|
||
|
}
|
||
|
}
|
||
|
tech1_progressbar.setProgress(m_progress);
|
||
|
for(Player p: tech1_progressbar.getPlayers()){
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}.runTaskTimer(plugin,0,20);
|
||
|
}
|
||
|
public void SetMaterials(ArrayList <ItemStack> m_material){
|
||
|
for(ItemStack Key: m_material){
|
||
|
this.m_material.add(Key);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
public Inventory getInventory(){
|
||
|
return research_tab;
|
||
|
}
|
||
|
private boolean CheckItem() {
|
||
|
if(0<m_material.size()&&m_material.size()<=3){
|
||
|
if(research_tab.containsAtLeast(m_material.get(0),1) &&research_tab.containsAtLeast(m_material.get(1),1) && research_tab.containsAtLeast(m_material.get(2),1)){
|
||
|
tech1_progressbar.setVisible(true);
|
||
|
return true;
|
||
|
}
|
||
|
else{
|
||
|
tech1_progressbar.setVisible(false);
|
||
|
return false;
|
||
|
}
|
||
|
} else if (0<m_material.size()&&m_material.size()<=6) {
|
||
|
if(research_tab.containsAtLeast(m_material.get(0),1) &&research_tab.containsAtLeast(m_material.get(1),1) && research_tab.containsAtLeast(m_material.get(2),1)
|
||
|
&& research_tab.containsAtLeast(m_material.get(3),1) &&research_tab.containsAtLeast(m_material.get(4),1) && research_tab.containsAtLeast(m_material.get(5),1)){
|
||
|
tech1_progressbar.setVisible(true);
|
||
|
return true;
|
||
|
}
|
||
|
else{
|
||
|
tech1_progressbar.setVisible(false);
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
else if (0<m_material.size()&&m_material.size()<=9){
|
||
|
if(research_tab.containsAtLeast(m_material.get(0),1) &&research_tab.containsAtLeast(m_material.get(1),1) && research_tab.containsAtLeast(m_material.get(2),1)
|
||
|
&& research_tab.containsAtLeast(m_material.get(3),1) &&research_tab.containsAtLeast(m_material.get(4),1) && research_tab.containsAtLeast(m_material.get(5),1)
|
||
|
&& research_tab.containsAtLeast(m_material.get(6),1) &&research_tab.containsAtLeast(m_material.get(7),1) && research_tab.containsAtLeast(m_material.get(8),1)){
|
||
|
tech1_progressbar.setVisible(true);
|
||
|
return true;
|
||
|
}
|
||
|
else{
|
||
|
tech1_progressbar.setVisible(false);
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
tech1_progressbar.setVisible(false);
|
||
|
return false;}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|