Add in op stuff
This commit is contained in:
parent
23337fb600
commit
ce8c8855f1
@ -36,6 +36,8 @@ import org.bukkit.inventory.EquipmentSlot;
|
|||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.InventoryView;
|
import org.bukkit.inventory.InventoryView;
|
||||||
import org.bukkit.inventory.InventoryView.Property;
|
import org.bukkit.inventory.InventoryView.Property;
|
||||||
|
import org.bukkit.permissions.PermissibleBase;
|
||||||
|
import org.bukkit.permissions.Permission;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.MainHand;
|
import org.bukkit.inventory.MainHand;
|
||||||
import org.bukkit.inventory.Merchant;
|
import org.bukkit.inventory.Merchant;
|
||||||
@ -61,12 +63,45 @@ import net.kyori.adventure.util.TriState;
|
|||||||
public class PatchBukkitHumanEntity
|
public class PatchBukkitHumanEntity
|
||||||
extends PatchBukkitLivingEntity
|
extends PatchBukkitLivingEntity
|
||||||
implements HumanEntity {
|
implements HumanEntity {
|
||||||
|
private boolean op;
|
||||||
|
protected final PermissibleBase perm = new PermissibleBase(this);
|
||||||
|
|
||||||
public PatchBukkitHumanEntity(UUID uuid,
|
public PatchBukkitHumanEntity(UUID uuid,
|
||||||
String name) {
|
String name) {
|
||||||
super(uuid, name);
|
super(uuid, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOp() {
|
||||||
|
return this.op;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setOp(boolean value) {
|
||||||
|
this.op = value;
|
||||||
|
this.perm.recalculatePermissions();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPermissionSet(String name) {
|
||||||
|
return this.perm.isPermissionSet(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPermissionSet(Permission perm) {
|
||||||
|
return this.perm.isPermissionSet(perm);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermission(String name) {
|
||||||
|
return this.perm.hasPermission(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermission(Permission perm) {
|
||||||
|
return this.perm.hasPermission(perm);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getEyeHeight() {
|
public double getEyeHeight() {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|||||||
@ -188,6 +188,31 @@ impl JvmWorker {
|
|||||||
)
|
)
|
||||||
.map_err(|e| format!("Failed to create player instance: {}", e))
|
.map_err(|e| format!("Failed to create player instance: {}", e))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
let player_permission_level = player.permission_lvl.load();
|
||||||
|
if player_permission_level
|
||||||
|
>= self
|
||||||
|
.context
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.server
|
||||||
|
.basic_config
|
||||||
|
.op_permission_level
|
||||||
|
{
|
||||||
|
jvm.invoke(
|
||||||
|
&j_player,
|
||||||
|
"setOp",
|
||||||
|
&[InvocationArg::try_from(true)
|
||||||
|
.unwrap()
|
||||||
|
.into_primitive()
|
||||||
|
.unwrap()],
|
||||||
|
)
|
||||||
|
.map_err(|e| {
|
||||||
|
format!("Failed to give operator status to new player: {}", e)
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
};
|
||||||
|
|
||||||
let patch_server = jvm
|
let patch_server = jvm
|
||||||
.cast(&server_instance, "org.patchbukkit.PatchBukkitServer")
|
.cast(&server_instance, "org.patchbukkit.PatchBukkitServer")
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user