add second perm/check for block entity lasers
All checks were successful
/ Auto-Build-App (push) Successful in 1m26s
All checks were successful
/ Auto-Build-App (push) Successful in 1m26s
This commit is contained in:
parent
069eca1578
commit
a026661a0f
3 changed files with 31 additions and 16 deletions
|
@ -185,6 +185,7 @@ public class Region {
|
||||||
perms.set_bool_perm("break", region.getBoolean("break", false));
|
perms.set_bool_perm("break", region.getBoolean("break", false));
|
||||||
perms.set_bool_perm("interact", region.getBoolean("interact", false));
|
perms.set_bool_perm("interact", region.getBoolean("interact", false));
|
||||||
perms.set_bool_perm("laser", region.getBoolean("laser", false));
|
perms.set_bool_perm("laser", region.getBoolean("laser", false));
|
||||||
|
perms.set_bool_perm("be_laser", region.getBoolean("laser", true));
|
||||||
|
|
||||||
perms.set_bool_perm("explode", region.getBoolean("explode", false));
|
perms.set_bool_perm("explode", region.getBoolean("explode", false));
|
||||||
perms.set_bool_perm("enter", region.getBoolean("enter", true));
|
perms.set_bool_perm("enter", region.getBoolean("enter", true));
|
||||||
|
@ -251,9 +252,24 @@ public class Region {
|
||||||
if (!perms_folder.exists()) {
|
if (!perms_folder.exists()) {
|
||||||
perms_folder.mkdirs();
|
perms_folder.mkdirs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Json json = new Json();
|
||||||
|
json.setOutputType(JsonWriter.OutputType.json);
|
||||||
|
JsonValue def = PlayerAreaPerm.get_default_perms();
|
||||||
|
String txt = def.toString();
|
||||||
|
BufferedWriter writer = new BufferedWriter(new FileWriter(get_path_string(perms_folder.getPath(),"example.json")));
|
||||||
|
writer.write(json.prettyPrint(txt));
|
||||||
|
writer.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
ArrayList<File> perms = directory_utils.list_files_in_dir_recursive(perms_folder,((dir, name) -> name.endsWith(".json")));
|
ArrayList<File> perms = directory_utils.list_files_in_dir_recursive(perms_folder,((dir, name) -> name.endsWith(".json")));
|
||||||
System.out.println("[AREA] Trying to load %s perms.".replace("%s", String.valueOf(perms.size())));
|
System.out.println("[AREA] Trying to load %s perms.".replace("%s", String.valueOf(perms.size())));
|
||||||
for (File f : perms) {
|
for (File f : perms) {
|
||||||
|
if (f.getName().equals("example.json"))
|
||||||
|
continue;
|
||||||
JsonValue perm_json;
|
JsonValue perm_json;
|
||||||
try {
|
try {
|
||||||
perm_json=jsonReader.parse(Gdx.files.absolute(f.getPath()));
|
perm_json=jsonReader.parse(Gdx.files.absolute(f.getPath()));
|
||||||
|
@ -261,6 +277,11 @@ public class Region {
|
||||||
System.err.println("[AREA] Perms file \"%s\" had encountered exception while loading...".replace("%s", f.getPath()));
|
System.err.println("[AREA] Perms file \"%s\" had encountered exception while loading...".replace("%s", f.getPath()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (perm_json==null){
|
||||||
|
System.err.println("[AREA] Perms file \"%s\" had encountered exception while loading...".replace("%s", f.getPath()));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
PlayerAreaPerm perm = new PlayerAreaPerm();
|
PlayerAreaPerm perm = new PlayerAreaPerm();
|
||||||
|
|
||||||
perm.player_id=perm_json.getString("player_id", "");
|
perm.player_id=perm_json.getString("player_id", "");
|
||||||
|
@ -279,6 +300,7 @@ public class Region {
|
||||||
player_perms.set_bool_perm("place", perm_json.getBoolean("place", false));
|
player_perms.set_bool_perm("place", perm_json.getBoolean("place", false));
|
||||||
player_perms.set_bool_perm("break", perm_json.getBoolean("break", false));
|
player_perms.set_bool_perm("break", perm_json.getBoolean("break", false));
|
||||||
player_perms.set_bool_perm("interact", perm_json.getBoolean("interact", false));
|
player_perms.set_bool_perm("interact", perm_json.getBoolean("interact", false));
|
||||||
|
player_perms.set_bool_perm("laser", perm_json.getBoolean("laser", false));
|
||||||
|
|
||||||
player_perms.set_bool_perm("explode", perm_json.getBoolean("explode", false));
|
player_perms.set_bool_perm("explode", perm_json.getBoolean("explode", false));
|
||||||
player_perms.set_bool_perm("enter", perm_json.getBoolean("enter", false));
|
player_perms.set_bool_perm("enter", perm_json.getBoolean("enter", false));
|
||||||
|
@ -287,19 +309,6 @@ public class Region {
|
||||||
area.player_perms.add(perm);
|
area.player_perms.add(perm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println("[AREA] Loaded %s permissions.".replace("%s",String.valueOf(area.player_perms.size)));
|
||||||
try {
|
|
||||||
Json json = new Json();
|
|
||||||
json.setOutputType(JsonWriter.OutputType.json);
|
|
||||||
JsonValue def = PlayerAreaPerm.get_default_perms();
|
|
||||||
String txt = def.toString();
|
|
||||||
BufferedWriter writer = new BufferedWriter(new FileWriter(get_path_string(perms_folder.getPath(),"example.json")));
|
|
||||||
writer.write(json.prettyPrint(txt));
|
|
||||||
writer.close();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("[AREA] Loaded %s permissions.".replace("%s",String.valueOf(areas.size)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import finalforeach.cosmicreach.entities.EntityUniqueId;
|
||||||
import finalforeach.cosmicreach.entities.player.Player;
|
import finalforeach.cosmicreach.entities.player.Player;
|
||||||
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
||||||
import finalforeach.cosmicreach.networking.server.ServerSingletons;
|
import finalforeach.cosmicreach.networking.server.ServerSingletons;
|
||||||
|
import finalforeach.cosmicreach.savelib.crbin.CRBSerialized;
|
||||||
import finalforeach.cosmicreach.util.Axis;
|
import finalforeach.cosmicreach.util.Axis;
|
||||||
import finalforeach.cosmicreach.world.Zone;
|
import finalforeach.cosmicreach.world.Zone;
|
||||||
import net.pietru.cookie_utils.permissions.Permissions;
|
import net.pietru.cookie_utils.permissions.Permissions;
|
||||||
|
@ -45,8 +46,11 @@ public class EntityLaserProjectileMixin extends EntityMixin {
|
||||||
MessagePacket packet = new MessagePacket("[Server] " + (is_not_reloading ? "Sorry, but this area is under protection." : "Sorry but you can't do this action right now. [Config Reload In Progress]"));
|
MessagePacket packet = new MessagePacket("[Server] " + (is_not_reloading ? "Sorry, but this area is under protection." : "Sorry but you can't do this action right now. [Config Reload In Progress]"));
|
||||||
packet.setupAndSend(ServerSingletons.getConnection(plr));
|
packet.setupAndSend(ServerSingletons.getConnection(plr));
|
||||||
}
|
}
|
||||||
}else
|
}else {
|
||||||
if (can_edit_block(blockPos, "laser"))
|
if (sourceEntityId==null && can_edit_block(blockPos, "be_laser"))
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
|
else if (can_edit_block(blockPos, "laser"))
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ public class ObjectPermList {
|
||||||
val.addChild("break", new JsonValue(false));
|
val.addChild("break", new JsonValue(false));
|
||||||
val.addChild("interact", new JsonValue(false));
|
val.addChild("interact", new JsonValue(false));
|
||||||
val.addChild("laser", new JsonValue(false));
|
val.addChild("laser", new JsonValue(false));
|
||||||
|
val.addChild("be_laser", new JsonValue(true));
|
||||||
|
|
||||||
val.addChild("explode", new JsonValue(false));
|
val.addChild("explode", new JsonValue(false));
|
||||||
val.addChild("enter", new JsonValue(true));
|
val.addChild("enter", new JsonValue(true));
|
||||||
|
@ -48,6 +49,7 @@ public class ObjectPermList {
|
||||||
val.set_bool_perm("break", false);
|
val.set_bool_perm("break", false);
|
||||||
val.set_bool_perm("interact", false);
|
val.set_bool_perm("interact", false);
|
||||||
val.set_bool_perm("laser", false);
|
val.set_bool_perm("laser", false);
|
||||||
|
val.set_bool_perm("be_laser", true);
|
||||||
|
|
||||||
val.set_bool_perm("explode", false);
|
val.set_bool_perm("explode", false);
|
||||||
val.set_bool_perm("enter", true);
|
val.set_bool_perm("enter", true);
|
||||||
|
|
Loading…
Reference in a new issue