mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-11 01:12:47 +01:00
Fix setting game rules via the API
This commit is contained in:
parent
fe3930ce00
commit
38fa220f69
2 changed files with 70 additions and 2 deletions
64
nms-patches/GameRules.patch
Normal file
64
nms-patches/GameRules.patch
Normal file
|
@ -0,0 +1,64 @@
|
|||
--- a/net/minecraft/server/GameRules.java
|
||||
+++ b/net/minecraft/server/GameRules.java
|
||||
@@ -78,7 +78,7 @@
|
||||
}
|
||||
|
||||
public <T extends GameRules.GameRuleValue<T>> T get(GameRules.GameRuleKey<T> gamerules_gamerulekey) {
|
||||
- return (GameRules.GameRuleValue) this.A.get(gamerules_gamerulekey);
|
||||
+ return (T) this.A.get(gamerules_gamerulekey); // CraftBukkit - decompile error
|
||||
}
|
||||
|
||||
public NBTTagCompound a() {
|
||||
@@ -103,7 +103,7 @@
|
||||
}
|
||||
|
||||
private static <T extends GameRules.GameRuleValue<T>> void a(GameRules.GameRuleVisitor gamerules_gamerulevisitor, GameRules.GameRuleKey<?> gamerules_gamerulekey, GameRules.GameRuleDefinition<?> gamerules_gameruledefinition) {
|
||||
- gamerules_gamerulevisitor.a(gamerules_gamerulekey, gamerules_gameruledefinition);
|
||||
+ gamerules_gamerulevisitor.a((GameRules.GameRuleKey<T>) gamerules_gamerulekey, (GameRules.GameRuleDefinition<T>) gamerules_gameruledefinition); // CraftBukkit - decompile error
|
||||
}
|
||||
|
||||
public boolean getBoolean(GameRules.GameRuleKey<GameRules.GameRuleBoolean> gamerules_gamerulekey) {
|
||||
@@ -154,7 +154,7 @@
|
||||
}
|
||||
|
||||
@Override
|
||||
- protected void setValue(String s) {
|
||||
+ public void setValue(String s) { // PAIL - private->public
|
||||
this.a = Boolean.parseBoolean(s);
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
}
|
||||
|
||||
@Override
|
||||
- protected void setValue(String s) {
|
||||
+ public void setValue(String s) { // PAIL - private->public
|
||||
this.a = b(s);
|
||||
}
|
||||
|
||||
@@ -246,14 +246,14 @@
|
||||
this.a(((CommandListenerWrapper) commandcontext.getSource()).getServer());
|
||||
}
|
||||
|
||||
- protected void a(@Nullable MinecraftServer minecraftserver) {
|
||||
+ public void a(@Nullable MinecraftServer minecraftserver) { // PAIL - private->public
|
||||
if (minecraftserver != null) {
|
||||
this.a.c.accept(minecraftserver, this.e());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- protected abstract void setValue(String s);
|
||||
+ public abstract void setValue(String s); // PAIL - private->public
|
||||
|
||||
protected abstract String getValue();
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
}
|
||||
|
||||
public T a() {
|
||||
- return (GameRules.GameRuleValue) this.b.apply(this);
|
||||
+ return this.b.apply(this); // CraftBukkit - decompile error
|
||||
}
|
||||
}
|
||||
|
|
@ -1904,7 +1904,9 @@ public class CraftWorld implements World {
|
|||
|
||||
if (!isGameRule(rule)) return false;
|
||||
|
||||
getHandle().getGameRules().get(getGameRulesNMS().get(rule)).b(null, value);
|
||||
GameRules.GameRuleValue<?> handle = getHandle().getGameRules().get(getGameRulesNMS().get(rule));
|
||||
handle.setValue(value);
|
||||
handle.a(getHandle().getMinecraftServer());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1938,7 +1940,9 @@ public class CraftWorld implements World {
|
|||
|
||||
if (!isGameRule(rule.getName())) return false;
|
||||
|
||||
getHandle().getGameRules().get(getGameRulesNMS().get(rule.getName())).b(null, newValue.toString());
|
||||
GameRules.GameRuleValue<?> handle = getHandle().getGameRules().get(getGameRulesNMS().get(rule.getName()));
|
||||
handle.setValue(newValue.toString());
|
||||
handle.a(getHandle().getMinecraftServer());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue