Groups based piston power
This commit is contained in:
parent
7829f4b145
commit
358aa4e2dc
@ -23,6 +23,7 @@ repositories {
|
||||
dependencies {
|
||||
compileOnly 'com.destroystokyo.paper:paper-api:1.12.2-R0.1-SNAPSHOT'
|
||||
compileOnly 'org.bukkit:craftbukkit:1.12.2-R0.1-20190527.155144-32'
|
||||
compileOnly "com.github.MilkBowl:VaultAPI:1.7"
|
||||
}
|
||||
|
||||
def targetJavaVersion = 8
|
||||
|
@ -1,15 +1,36 @@
|
||||
package ru.redguy.extendedpistons;
|
||||
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public final class ExtendedPistons extends JavaPlugin {
|
||||
|
||||
public static ExtendedPistons INSTANCE;
|
||||
|
||||
public FileConfiguration conf;
|
||||
public Permission permsService = null;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
INSTANCE = this;
|
||||
|
||||
conf = getConfig();
|
||||
if(!conf.isSet("piston-move-limitations"))
|
||||
conf.set("piston-move-limitations",new HashMap<String, Integer>() {{
|
||||
put("default", 8);
|
||||
put("vip", 12);
|
||||
put("premium", 20);
|
||||
}});
|
||||
saveConfig();
|
||||
|
||||
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
|
||||
permsService = rsp.getProvider();
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(new WorldListener(), this);
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.*;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
@ -194,11 +195,14 @@ public class WorldListener implements Listener {
|
||||
}
|
||||
|
||||
public int findNearbyPlayerMaxBlocks(Location location) {
|
||||
Optional<Player> op = (Optional<Player>) Bukkit.getOnlinePlayers().stream().min(Comparator.comparingDouble(p -> p.getLocation().distance(location)));
|
||||
Optional<? extends Player> op = Bukkit.getOnlinePlayers().stream().min(Comparator.comparingDouble(p -> p.getLocation().distance(location)));
|
||||
if(op.isPresent()) {
|
||||
return 20; //TODO
|
||||
} else {
|
||||
return 12;
|
||||
String[] groups = ExtendedPistons.INSTANCE.permsService.getPlayerGroups(op.get());
|
||||
for (String group : groups) {
|
||||
if(ExtendedPistons.INSTANCE.conf.isSet("piston-move-limitations."+group)&&ExtendedPistons.INSTANCE.conf.isInt("piston-move-limitations."+group))
|
||||
return ExtendedPistons.INSTANCE.conf.getInt("piston-move-limitations."+group);
|
||||
}
|
||||
}
|
||||
return 12;
|
||||
}
|
||||
}
|
||||
|
@ -5,3 +5,5 @@ prefix: Pis
|
||||
authors: [ Redguy ]
|
||||
description: Plugin for very cool pistions
|
||||
website: https://redguy.ru
|
||||
depend:
|
||||
- Vault
|
Reference in New Issue
Block a user