mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add permissions for enderchest rows
This commit is contained in:
@@ -123,6 +123,18 @@ blocks
|
||||
* six-rows
|
||||
- **default**: false
|
||||
- **description**: Ender chests should have 6 rows of inventory space
|
||||
* use-permissions-for-rows
|
||||
- **default**: false
|
||||
- **description**: Use permission nodes to determine the number of rows. `six-rows` MUST be enabled for this to work.
|
||||
|
||||
.. note::
|
||||
Enderchest row permissions:
|
||||
purpur.enderchest.rows.six
|
||||
purpur.enderchest.rows.five
|
||||
purpur.enderchest.rows.four
|
||||
purpur.enderchest.rows.three
|
||||
purpur.enderchest.rows.two
|
||||
purpur.enderchest.rows.one
|
||||
|
||||
* slime
|
||||
* not-movable-by-piston
|
||||
|
||||
@@ -61,3 +61,24 @@ need to be granted the permissions you want them to have using a permissions plu
|
||||
|
||||
* **purpur.sign.magic**
|
||||
- **description**: Allows players to use the magic/obfuscated style code on signs
|
||||
|
||||
* **purpur.enderchest.rows.six**
|
||||
- **description**: Allows players to have 6 rows in their enderchest
|
||||
|
||||
* **purpur.enderchest.rows.five**
|
||||
- **description**: Allows players to have 5 rows in their enderchest
|
||||
|
||||
* **purpur.enderchest.rows.four**
|
||||
- **description**: Allows players to have 4 rows in their enderchest
|
||||
|
||||
* **purpur.enderchest.rows.three**
|
||||
- **description**: Allows players to have 3 rows in their enderchest
|
||||
|
||||
* **purpur.enderchest.rows.two**
|
||||
- **description**: Allows players to have 2 rows in their enderchest
|
||||
|
||||
* **purpur.enderchest.rows.one**
|
||||
- **description**: Allows players to have 1 row in their enderchest
|
||||
|
||||
.. note::
|
||||
Enderchest row permissions require `settings.blocks.ender_chest.six-rows` to be enabled!
|
||||
@@ -1,29 +1,16 @@
|
||||
From 4b3279b5da65dcffdfdf536636d412ec489c0229 Mon Sep 17 00:00:00 2001
|
||||
From ff4d461e5c4cee9dcfb4b299319be75fb7861d22 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Thu, 23 May 2019 21:50:37 -0500
|
||||
Subject: [PATCH] Barrels have 6 rows
|
||||
|
||||
---
|
||||
src/main/java/net/minecraft/server/ContainerChest.java | 1 +
|
||||
src/main/java/net/minecraft/server/TileEntityBarrel.java | 5 +++--
|
||||
src/main/java/net/pl3x/purpur/PurpurConfig.java | 9 +++++++++
|
||||
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 5 ++++-
|
||||
4 files changed, 17 insertions(+), 3 deletions(-)
|
||||
3 files changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ContainerChest.java b/src/main/java/net/minecraft/server/ContainerChest.java
|
||||
index 0ee6524b89..7d8567b4b8 100644
|
||||
--- a/src/main/java/net/minecraft/server/ContainerChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/ContainerChest.java
|
||||
@@ -65,6 +65,7 @@ public class ContainerChest extends Container {
|
||||
return new ContainerChest(Containers.GENERIC_9X3, i, playerinventory, iinventory, 3);
|
||||
}
|
||||
|
||||
+ public static ContainerChest createSixRows(int i, PlayerInventory playerinventory, IInventory iinventory) { return b(i, playerinventory, iinventory); } // Purpur - OBFHELPER
|
||||
public static ContainerChest b(int i, PlayerInventory playerinventory, IInventory iinventory) {
|
||||
return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, iinventory, 6);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
||||
index 1e27abbea0..d1a3aae91f 100644
|
||||
index 1e27abbea0..ca3b6c9aae 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
||||
@@ -54,7 +54,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
||||
@@ -48,7 +35,7 @@ index 1e27abbea0..d1a3aae91f 100644
|
||||
|
||||
@Override
|
||||
protected Container createContainer(int i, PlayerInventory playerinventory) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.barrelSixRows) return ContainerChest.createSixRows(i, playerinventory, this); // Purpur
|
||||
+ if (net.pl3x.purpur.PurpurConfig.barrelSixRows) return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, this, 6); // Purpur
|
||||
return ContainerChest.a(i, playerinventory, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,25 +1,46 @@
|
||||
From 1f34762239549dcb0e48482dbdf48779c3ecec25 Mon Sep 17 00:00:00 2001
|
||||
From a21bd2c3bf71b5aace63a15e2ebddf6f72878475 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sun, 23 Jun 2019 17:01:26 -0500
|
||||
Subject: [PATCH] Ender chests have 6 rows
|
||||
Subject: [PATCH] Enderchest 6 rows (plus permissions)
|
||||
|
||||
---
|
||||
src/main/java/net/minecraft/server/BlockEnderChest.java | 1 +
|
||||
src/main/java/net/minecraft/server/InventoryEnderChest.java | 2 +-
|
||||
src/main/java/net/pl3x/purpur/PurpurConfig.java | 6 ++++++
|
||||
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 3 ++-
|
||||
.../org/bukkit/craftbukkit/inventory/CraftInventory.java | 2 +-
|
||||
5 files changed, 11 insertions(+), 3 deletions(-)
|
||||
.../net/minecraft/server/BlockEnderChest.java | 21 +++++++++++++++++++
|
||||
.../minecraft/server/InventoryEnderChest.java | 2 +-
|
||||
.../java/net/pl3x/purpur/PurpurConfig.java | 8 +++++++
|
||||
.../craftbukkit/inventory/CraftContainer.java | 3 ++-
|
||||
.../craftbukkit/inventory/CraftInventory.java | 2 +-
|
||||
.../permissions/CraftDefaultPermissions.java | 8 +++++++
|
||||
6 files changed, 41 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
||||
index 0a892a5f1a..0aede130bd 100644
|
||||
index 0a892a5f1a..e7ef571dc5 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
||||
@@ -48,6 +48,7 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
|
||||
@@ -48,6 +48,27 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
|
||||
|
||||
inventoryenderchest.a(tileentityenderchest);
|
||||
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) return ContainerChest.b(i, playerinventory, inventoryenderchest); // Purpur
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestPermissionRows) {
|
||||
+ org.bukkit.craftbukkit.entity.CraftHumanEntity player = entityhuman.getBukkitEntity();
|
||||
+ if (player.hasPermission("purpur.enderchest.rows.six")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
||||
+ } else if (player.hasPermission("purpur.enderchest.rows.five")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X5, i, playerinventory, inventoryenderchest, 5);
|
||||
+ } else if (player.hasPermission("purpur.enderchest.rows.four")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X4, i, playerinventory, inventoryenderchest, 4);
|
||||
+ } else if (player.hasPermission("purpur.enderchest.rows.three")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X3, i, playerinventory, inventoryenderchest, 3);
|
||||
+ } else if (player.hasPermission("purpur.enderchest.rows.two")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X2, i, playerinventory, inventoryenderchest, 2);
|
||||
+ } else if (player.hasPermission("purpur.enderchest.rows.one")) {
|
||||
+ return new ContainerChest(Containers.GENERIC_9X1, i, playerinventory, inventoryenderchest, 1);
|
||||
+ }
|
||||
+ }
|
||||
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
return ContainerChest.a(i, playerinventory, inventoryenderchest);
|
||||
}, BlockEnderChest.e));
|
||||
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
||||
@@ -37,14 +58,15 @@ index fd31b9a6dc..903c02e9ef 100644
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 871f2a031a..e78f73f8a2 100644
|
||||
index 871f2a031a..9f6b4dc9a5 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -162,14 +162,20 @@ public class PurpurConfig {
|
||||
@@ -162,14 +162,22 @@ public class PurpurConfig {
|
||||
|
||||
public static boolean barrelSixRows = false;
|
||||
public static boolean slimeBlocksNotPushable = false;
|
||||
+ public static boolean enderChestSixRows = false;
|
||||
+ public static boolean enderChestPermissionRows = false;
|
||||
private static void blockSettings() {
|
||||
if (version < 3) {
|
||||
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
|
||||
@@ -58,6 +80,7 @@ index 871f2a031a..e78f73f8a2 100644
|
||||
InventoryType.BARREL.setDefaultSize(barrelSixRows ? 54 : 27);
|
||||
+ enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
|
||||
+ InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
|
||||
+ enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
slimeBlocksNotPushable = getBoolean("settings.blocks.slime.not-movable-by-piston", slimeBlocksNotPushable);
|
||||
}
|
||||
|
||||
@@ -95,6 +118,25 @@ index 026a0c3995..d2c06cff2c 100644
|
||||
throw new IllegalArgumentException("Invalid inventory size; expected " + getSize() + " or less");
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
|
||||
index d936b9284e..d7b1b56d94 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
|
||||
@@ -17,6 +17,14 @@ public final class CraftDefaultPermissions {
|
||||
DefaultPermissions.registerPermission(ROOT + ".debugstick", "Gives the user the ability to use the debug stick in creative", org.bukkit.permissions.PermissionDefault.OP, parent);
|
||||
DefaultPermissions.registerPermission(ROOT + ".debugstick.always", "Gives the user the ability to use the debug stick in all game modes", org.bukkit.permissions.PermissionDefault.FALSE, parent);
|
||||
// Spigot end
|
||||
+ // Purpur start
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.six", "Gives the user six rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.five", "Gives the user five rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.four", "Gives the user four rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.three", "Gives the user three rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.two", "Gives the user two rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ DefaultPermissions.registerPermission("purpur.enderchest.rows.one", "Gives the user one row of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
||||
+ // Purpur end
|
||||
parent.recalculatePermissibles();
|
||||
}
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 83e17c570af947f1857922038e4a45f7babbc4d4 Mon Sep 17 00:00:00 2001
|
||||
From 33531668ff2757d7b7ca00d8c887f15bbc6e677d Mon Sep 17 00:00:00 2001
|
||||
From: Tom <cryptite@gmail.com>
|
||||
Date: Fri, 12 Jul 2019 07:59:35 -0500
|
||||
Subject: [PATCH] Don't recalculate permissions for players on world change
|
||||
@@ -51,10 +51,10 @@ index 253ee52eb5..cf8f24b31c 100644
|
||||
public boolean isWhitelisted(GameProfile gameprofile) {
|
||||
return isWhitelisted(gameprofile, null);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index e78f73f8a2..384afe2e64 100644
|
||||
index 9f6b4dc9a5..a8276ab477 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -179,6 +179,11 @@ public class PurpurConfig {
|
||||
@@ -181,6 +181,11 @@ public class PurpurConfig {
|
||||
slimeBlocksNotPushable = getBoolean("settings.blocks.slime.not-movable-by-piston", slimeBlocksNotPushable);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 5193f535a226b90d020395aeb5f3524f6593a81b Mon Sep 17 00:00:00 2001
|
||||
From 36123f6107c61f9450af7b8ec14e6f0b7ef34eca Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 21 Mar 2020 11:47:39 -0500
|
||||
Subject: [PATCH] Configurable server mod name
|
||||
@@ -22,10 +22,10 @@ index 5d28185248..c5319ff0f5 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 3eaecc6393..312a503a98 100644
|
||||
index 4c6d401b09..0948d67260 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -189,6 +189,11 @@ public class PurpurConfig {
|
||||
@@ -191,6 +191,11 @@ public class PurpurConfig {
|
||||
recalculatePermsOnWorldChange = getBoolean("settings.recalculate-perms-on-world-change", recalculatePermsOnWorldChange);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user