no message
This commit is contained in:
commit
685c0cbd16
8
ResidenceBuild/.idea/.gitignore
generated
vendored
Normal file
8
ResidenceBuild/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/../../../../:\IdeaProject\ResidenceBuild\.idea/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
10
ResidenceBuild/.idea/artifacts/ResidenceBuild.xml
generated
Normal file
10
ResidenceBuild/.idea/artifacts/ResidenceBuild.xml
generated
Normal file
@ -0,0 +1,10 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="ResidenceBuild">
|
||||
<output-path>G:/minecraftServerLocal/plugins</output-path>
|
||||
<root id="archive" name="ResidenceBuild.jar">
|
||||
<element id="module-output" name="ResidenceBuild" />
|
||||
<element id="file-copy" path="$PROJECT_DIR$/config.yml" />
|
||||
<element id="file-copy" path="$PROJECT_DIR$/plugin.yml" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
9
ResidenceBuild/.idea/libraries/Residence4_9_2_7.xml
generated
Normal file
9
ResidenceBuild/.idea/libraries/Residence4_9_2_7.xml
generated
Normal file
@ -0,0 +1,9 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Residence4.9.2.7">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/../StrenghtPlus/Residence4.9.2.7.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
11
ResidenceBuild/.idea/libraries/spigot_1_16_5.xml
generated
Normal file
11
ResidenceBuild/.idea/libraries/spigot_1_16_5.xml
generated
Normal file
@ -0,0 +1,11 @@
|
||||
<component name="libraryTable">
|
||||
<library name="spigot-1.16.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$APPLICATION_HOME_DIR$/lib/spigot-1.16.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://$APPLICATION_HOME_DIR$/lib/spigot-1.16.5.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
6
ResidenceBuild/.idea/misc.xml
generated
Normal file
6
ResidenceBuild/.idea/misc.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
8
ResidenceBuild/.idea/modules.xml
generated
Normal file
8
ResidenceBuild/.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/ResidenceBuild.iml" filepath="$PROJECT_DIR$/ResidenceBuild.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
13
ResidenceBuild/ResidenceBuild.iml
Normal file
13
ResidenceBuild/ResidenceBuild.iml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="spigot-1.16.5" level="project" />
|
||||
<orderEntry type="library" name="Residence4.9.2.7" level="project" />
|
||||
</component>
|
||||
</module>
|
4
ResidenceBuild/config.yml
Normal file
4
ResidenceBuild/config.yml
Normal file
@ -0,0 +1,4 @@
|
||||
#世界名
|
||||
Worlds:
|
||||
- world1
|
||||
- world2
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6
ResidenceBuild/plugin.yml
Normal file
6
ResidenceBuild/plugin.yml
Normal file
@ -0,0 +1,6 @@
|
||||
name: ResBuildMain
|
||||
main: com.raven.resbuild.ResBuildMain
|
||||
version: 1.0
|
||||
author: Raven
|
||||
commands:
|
||||
rsb:
|
27
ResidenceBuild/src/com/raven/resbuild/ResBuild.java
Normal file
27
ResidenceBuild/src/com/raven/resbuild/ResBuild.java
Normal file
@ -0,0 +1,27 @@
|
||||
package com.raven.ResBuild;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class ResBuild extends JavaPlugin {
|
||||
@Override
|
||||
public void onLoad() {
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.GREEN +"[ResidenceBuild]:plugin have been load");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
/*getServer().getPluginManager().registerEvents(new OnPlayerBuildListener(), this);
|
||||
FlagPermissions.addFlag("build");*/
|
||||
FileConfiguration config = getConfig();
|
||||
if(config==null){
|
||||
saveDefaultConfig();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.GREEN +"[ResidenceBuild]:plugin have been disable");
|
||||
}
|
||||
}
|
36
ResidenceBuild/src/com/raven/resbuild/ResBuildMain.java
Normal file
36
ResidenceBuild/src/com/raven/resbuild/ResBuildMain.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.raven.resbuild;
|
||||
|
||||
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||
import com.raven.resbuild.command.CommandHandler;
|
||||
import com.raven.resbuild.listener.OnPlayerBuildListener;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class ResBuildMain extends JavaPlugin {
|
||||
private static Plugin plugin;
|
||||
@Override
|
||||
public void onLoad() {
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.GREEN +"[ResidenceBuild]:plugin have been load");
|
||||
plugin = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
Bukkit.getPluginCommand("rsb").setExecutor(new CommandHandler());
|
||||
getServer().getPluginManager().registerEvents(new OnPlayerBuildListener(), this);
|
||||
FlagPermissions.addFlag("build");
|
||||
saveDefaultConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.GREEN +"[ResidenceBuild]:plugin have been disable");
|
||||
}
|
||||
|
||||
public static Plugin getPlugin(){
|
||||
return plugin;
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.raven.resbuild.command;
|
||||
|
||||
import com.raven.resbuild.ResBuildMain;
|
||||
import com.raven.resbuild.configtools.ConfigFactory;
|
||||
import com.raven.resbuild.menu.OutPutInfo;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class CommandHandler implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender commandSender, Command command, String info, String[] extra) {
|
||||
if(commandSender instanceof Player){
|
||||
Player player = (Player) commandSender;
|
||||
if(info.equals("rsb") && extra.length==0){
|
||||
OutPutInfo.display(player);
|
||||
return true;
|
||||
}else if(info.equals("rsb") && extra[0].equalsIgnoreCase("reload") && extra.length==1){
|
||||
//重新读取config
|
||||
if(player.hasPermission("rsb.reload")){
|
||||
ConfigFactory factory = new ConfigFactory(ResBuildMain.getPlugin());
|
||||
factory.reloadConfig();
|
||||
player.sendMessage("§a§l[StrengthPlus]:§b§l插件已重载!");
|
||||
}else {
|
||||
player.sendMessage("§c§l[StrengthPlus]:你没有权限去这样做!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}else {
|
||||
commandSender.sendMessage(ChatColor.GREEN+"[StrengthPlus]:"+ChatColor.RED+"你必须是一名玩家");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package com.raven.resbuild.configtools;
|
||||
|
||||
import com.raven.resbuild.ResBuildMain;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
public class ConfigFactory {
|
||||
private Plugin plugin;
|
||||
public ConfigFactory(Plugin plugin){
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public static void loadConfig(Plugin plugin) {
|
||||
try {
|
||||
File configFile = new File(plugin.getDataFolder(), "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
plugin.saveDefaultConfig();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean getUnableWorlds(String worldName){
|
||||
FileConfiguration config = ResBuildMain.getPlugin().getConfig();
|
||||
List<String> worldList = config.getStringList("Worlds");
|
||||
for(int i=0;i<worldList.size();i++){
|
||||
if(worldName.equals(worldList.get(i))){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void reloadConfig(){
|
||||
plugin.reloadConfig();
|
||||
}
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
package com.raven.resbuild.listener;
|
||||
|
||||
import com.bekvon.bukkit.residence.Residence;
|
||||
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||
import com.bekvon.bukkit.residence.protection.ResidencePermissions;
|
||||
import com.raven.resbuild.configtools.ConfigFactory;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
|
||||
public class OnPlayerBuildListener implements Listener {
|
||||
Residence residence = Residence.getInstance();
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void onDestoryListener(BlockBreakEvent event){
|
||||
Player player = event.getPlayer();
|
||||
if(player.hasPermission("rsb.build")){
|
||||
}else{
|
||||
Location loc = event.getBlock().getLocation();
|
||||
ClaimedResidence res = residence.getResidenceManager().getByLoc(loc);
|
||||
String worldName = event.getBlock().getWorld().getName();
|
||||
if(res!=null){
|
||||
ResidencePermissions perms = res.getPermissions();
|
||||
String playerName = event.getPlayer().getName();
|
||||
boolean defaultValue = true;
|
||||
boolean hasPermission = perms.playerHas(playerName, "build", defaultValue);
|
||||
if(!hasPermission) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}else{
|
||||
if(ConfigFactory.getUnableWorlds(worldName)){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage("§c§l在当前世界,你只能在领地中建筑!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void onBuildListener(BlockPlaceEvent event){
|
||||
Player player = event.getPlayer();
|
||||
if(player.hasPermission("rsb.build")){
|
||||
}else{
|
||||
Location loc = event.getBlock().getLocation();
|
||||
ClaimedResidence res = residence.getResidenceManager().getByLoc(loc);
|
||||
String worldName = event.getBlock().getWorld().getName();
|
||||
if(res!=null){
|
||||
ResidencePermissions perms = res.getPermissions();
|
||||
String playerName = event.getPlayer().getName();
|
||||
boolean defaultValue = true;
|
||||
boolean hasPermission = perms.playerHas(playerName, "build", defaultValue);
|
||||
if(!hasPermission) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}else{
|
||||
if(ConfigFactory.getUnableWorlds(worldName)){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage("§c§l在当前世界,你只能在领地中建筑!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
12
ResidenceBuild/src/com/raven/resbuild/menu/OutPutInfo.java
Normal file
12
ResidenceBuild/src/com/raven/resbuild/menu/OutPutInfo.java
Normal file
@ -0,0 +1,12 @@
|
||||
package com.raven.resbuild.menu;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class OutPutInfo {
|
||||
public static void display(Player player){
|
||||
player.sendMessage("§c§l===------§6§l[ResidenceBuild]§c§l-------===");
|
||||
player.sendMessage("§a§l/rsb 打开此帮助菜单");
|
||||
player.sendMessage("§b§l/rsb reload 重载插件设置");
|
||||
player.sendMessage("§c§l===------§6§l[ResidenceBuild]§c§l-------===");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user