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("interact", region.getBoolean("interact", 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("enter", region.getBoolean("enter", true));
|
||||
|
@ -251,9 +252,24 @@ public class Region {
|
|||
if (!perms_folder.exists()) {
|
||||
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")));
|
||||
System.out.println("[AREA] Trying to load %s perms.".replace("%s", String.valueOf(perms.size())));
|
||||
for (File f : perms) {
|
||||
if (f.getName().equals("example.json"))
|
||||
continue;
|
||||
JsonValue perm_json;
|
||||
try {
|
||||
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()));
|
||||
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();
|
||||
|
||||
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("break", perm_json.getBoolean("break", 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("enter", perm_json.getBoolean("enter", false));
|
||||
|
@ -287,19 +309,6 @@ public class Region {
|
|||
area.player_perms.add(perm);
|
||||
}
|
||||
|
||||
|
||||
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)));
|
||||
System.out.println("[AREA] Loaded %s permissions.".replace("%s",String.valueOf(area.player_perms.size)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import finalforeach.cosmicreach.entities.EntityUniqueId;
|
|||
import finalforeach.cosmicreach.entities.player.Player;
|
||||
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
||||
import finalforeach.cosmicreach.networking.server.ServerSingletons;
|
||||
import finalforeach.cosmicreach.savelib.crbin.CRBSerialized;
|
||||
import finalforeach.cosmicreach.util.Axis;
|
||||
import finalforeach.cosmicreach.world.Zone;
|
||||
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]"));
|
||||
packet.setupAndSend(ServerSingletons.getConnection(plr));
|
||||
}
|
||||
}else
|
||||
if (can_edit_block(blockPos, "laser"))
|
||||
}else {
|
||||
if (sourceEntityId==null && can_edit_block(blockPos, "be_laser"))
|
||||
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("interact", new JsonValue(false));
|
||||
val.addChild("laser", new JsonValue(false));
|
||||
val.addChild("be_laser", new JsonValue(true));
|
||||
|
||||
val.addChild("explode", new JsonValue(false));
|
||||
val.addChild("enter", new JsonValue(true));
|
||||
|
@ -48,6 +49,7 @@ public class ObjectPermList {
|
|||
val.set_bool_perm("break", false);
|
||||
val.set_bool_perm("interact", false);
|
||||
val.set_bool_perm("laser", false);
|
||||
val.set_bool_perm("be_laser", true);
|
||||
|
||||
val.set_bool_perm("explode", false);
|
||||
val.set_bool_perm("enter", true);
|
||||
|
|
Loading…
Reference in a new issue