mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 09:57:43 +01:00
Add permissions for enderchest rows
This commit is contained in:
@@ -123,6 +123,18 @@ blocks
|
|||||||
* six-rows
|
* six-rows
|
||||||
- **default**: false
|
- **default**: false
|
||||||
- **description**: Ender chests should have 6 rows of inventory space
|
- **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
|
* slime
|
||||||
* not-movable-by-piston
|
* 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**
|
* **purpur.sign.magic**
|
||||||
- **description**: Allows players to use the magic/obfuscated style code on signs
|
- **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>
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||||
Date: Thu, 23 May 2019 21:50:37 -0500
|
Date: Thu, 23 May 2019 21:50:37 -0500
|
||||||
Subject: [PATCH] Barrels have 6 rows
|
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/minecraft/server/TileEntityBarrel.java | 5 +++--
|
||||||
src/main/java/net/pl3x/purpur/PurpurConfig.java | 9 +++++++++
|
src/main/java/net/pl3x/purpur/PurpurConfig.java | 9 +++++++++
|
||||||
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 5 ++++-
|
.../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
|
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
|
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
||||||
+++ b/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 {
|
@@ -54,7 +54,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
||||||
@@ -48,7 +35,7 @@ index 1e27abbea0..d1a3aae91f 100644
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Container createContainer(int i, PlayerInventory playerinventory) {
|
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);
|
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>
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||||
Date: Sun, 23 Jun 2019 17:01:26 -0500
|
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 +
|
.../net/minecraft/server/BlockEnderChest.java | 21 +++++++++++++++++++
|
||||||
src/main/java/net/minecraft/server/InventoryEnderChest.java | 2 +-
|
.../minecraft/server/InventoryEnderChest.java | 2 +-
|
||||||
src/main/java/net/pl3x/purpur/PurpurConfig.java | 6 ++++++
|
.../java/net/pl3x/purpur/PurpurConfig.java | 8 +++++++
|
||||||
.../org/bukkit/craftbukkit/inventory/CraftContainer.java | 3 ++-
|
.../craftbukkit/inventory/CraftContainer.java | 3 ++-
|
||||||
.../org/bukkit/craftbukkit/inventory/CraftInventory.java | 2 +-
|
.../craftbukkit/inventory/CraftInventory.java | 2 +-
|
||||||
5 files changed, 11 insertions(+), 3 deletions(-)
|
.../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
|
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
|
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
|
||||||
+++ b/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);
|
inventoryenderchest.a(tileentityenderchest);
|
||||||
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
|
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);
|
return ContainerChest.a(i, playerinventory, inventoryenderchest);
|
||||||
}, BlockEnderChest.e));
|
}, BlockEnderChest.e));
|
||||||
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
||||||
@@ -37,14 +58,15 @@ index fd31b9a6dc..903c02e9ef 100644
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
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
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/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 barrelSixRows = false;
|
||||||
public static boolean slimeBlocksNotPushable = false;
|
public static boolean slimeBlocksNotPushable = false;
|
||||||
+ public static boolean enderChestSixRows = false;
|
+ public static boolean enderChestSixRows = false;
|
||||||
|
+ public static boolean enderChestPermissionRows = false;
|
||||||
private static void blockSettings() {
|
private static void blockSettings() {
|
||||||
if (version < 3) {
|
if (version < 3) {
|
||||||
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
|
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
|
||||||
@@ -58,6 +80,7 @@ index 871f2a031a..e78f73f8a2 100644
|
|||||||
InventoryType.BARREL.setDefaultSize(barrelSixRows ? 54 : 27);
|
InventoryType.BARREL.setDefaultSize(barrelSixRows ? 54 : 27);
|
||||||
+ enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
|
+ enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
|
||||||
+ InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
|
+ 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);
|
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");
|
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
|
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>
|
From: Tom <cryptite@gmail.com>
|
||||||
Date: Fri, 12 Jul 2019 07:59:35 -0500
|
Date: Fri, 12 Jul 2019 07:59:35 -0500
|
||||||
Subject: [PATCH] Don't recalculate permissions for players on world change
|
Subject: [PATCH] Don't recalculate permissions for players on world change
|
||||||
@@ -51,10 +51,10 @@ index 253ee52eb5..cf8f24b31c 100644
|
|||||||
public boolean isWhitelisted(GameProfile gameprofile) {
|
public boolean isWhitelisted(GameProfile gameprofile) {
|
||||||
return isWhitelisted(gameprofile, null);
|
return isWhitelisted(gameprofile, null);
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
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
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/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);
|
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>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Sat, 21 Mar 2020 11:47:39 -0500
|
Date: Sat, 21 Mar 2020 11:47:39 -0500
|
||||||
Subject: [PATCH] Configurable server mod name
|
Subject: [PATCH] Configurable server mod name
|
||||||
@@ -22,10 +22,10 @@ index 5d28185248..c5319ff0f5 100644
|
|||||||
|
|
||||||
public CrashReport b(CrashReport crashreport) {
|
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
|
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
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/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);
|
recalculatePermsOnWorldChange = getBoolean("settings.recalculate-perms-on-world-change", recalculatePermsOnWorldChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user