diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java index 8dc090a..4b1ded2 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java @@ -396,12 +396,26 @@ public class CommandEntity private void addGroup(RowEntity entity, String parent, CommandParams optional) throws CommandAnswerException { final ArrayList answer = new ArrayList<>(); - throw new CommandAnswerException(answer); + final RowInheritance row = new RowInheritance(); + row.entity = entity.entity; + row.childType = entity.entityType; + row.parent = parent; + rscp.connection.addInheritance(row); + throw new CommandAnswerException("{_LG}All is ok? I don't ready to check it myself."); } - private void addPermission(RowEntity entity, String parent, CommandParams optional) throws CommandAnswerException + private void addPermission(RowEntity entity, String permission, CommandParams optional) throws CommandAnswerException { - final ArrayList answer = new ArrayList<>(); - throw new CommandAnswerException(answer); + // final ArrayList answer = new ArrayList<>(); + final RowPermission row = new RowPermission(); + boolean negate = permission.startsWith("-"); + if(negate) + permission = permission.substring(1); + row.entity = entity.entity; + row.entityType = entity.entityType; + row.permission = permission; + row.value = !negate; + rscp.connection.addPermission(row); + throw new CommandAnswerException("{_LG}All is ok? I don't ready to check it myself."); } private void removeGroup(RowEntity entity, String whatToRemove) throws CommandAnswerException { diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java index ab7bfc1..b3f0c90 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.Map; import ru.simsonic.rscMinecraftLibrary.Bukkit.GenericChatCodes; +import ru.simsonic.rscPermissions.API.EntityType; import ru.simsonic.rscPermissions.API.RowEntity; import ru.simsonic.rscPermissions.API.RowInheritance; import ru.simsonic.rscPermissions.API.RowPermission; @@ -66,7 +67,19 @@ public class DatabaseEditor extends BackendDatabase row.value, row.destination.toString(), (row.expirience != 0 ? row.expirience : null), - /* FIX LIFETIME */ 0); + /* FIX LIFETIME */ null); + } + public void addInheritance(RowInheritance row) + { + super.insertInheritance( + (row.id != 0 ? (long)row.id : null), + row.entity, + row.parent, + row.childType, + row.priority, + row.destination.toString(), + (row.expirience != 0 ? row.expirience : null), + /* FIX LIFETIME */ null); } private DatabaseContents prepareChanges() {