PaperMC/nms-patches/LootTableInfo.patch
2018-08-26 12:00:00 +10:00

67 lines
2.9 KiB
Diff

--- a/net/minecraft/server/LootTableInfo.java
+++ b/net/minecraft/server/LootTableInfo.java
@@ -11,6 +11,7 @@
public class LootTableInfo {
private final float a;
+ public final int lootingMod; // CraftBukkit - add field
private final WorldServer b;
private final LootTableRegistry c;
@Nullable
@@ -23,7 +24,8 @@
private final BlockPosition g;
private final Set<LootTable> h = Sets.newLinkedHashSet();
- public LootTableInfo(float f, WorldServer worldserver, LootTableRegistry loottableregistry, @Nullable Entity entity, @Nullable EntityHuman entityhuman, @Nullable DamageSource damagesource, @Nullable BlockPosition blockposition) {
+ // CraftBukkit - add looting modifier to constructor
+ public LootTableInfo(float f, WorldServer worldserver, LootTableRegistry loottableregistry, @Nullable Entity entity, @Nullable EntityHuman entityhuman, @Nullable DamageSource damagesource, @Nullable BlockPosition blockposition, int lootingModifier) {
this.a = f;
this.b = worldserver;
this.c = loottableregistry;
@@ -31,6 +33,7 @@
this.e = entityhuman;
this.f = damagesource;
this.g = blockposition;
+ this.lootingMod = lootingModifier; // CraftBukkit
}
@Nullable
@@ -127,11 +130,11 @@
return LootTableInfo.EntityTarget.a(jsonreader.nextString());
}
- public Object read(JsonReader jsonreader) throws IOException {
+ public LootTableInfo.EntityTarget read(JsonReader jsonreader) throws IOException { // CraftBukkit - decompile error
return this.a(jsonreader);
}
- public void write(JsonWriter jsonwriter, Object object) throws IOException {
+ public void write(JsonWriter jsonwriter, LootTableInfo.EntityTarget object) throws IOException { // CraftBukkit - decompile error
this.a(jsonwriter, (LootTableInfo.EntityTarget) object);
}
}
@@ -141,6 +144,7 @@
private final WorldServer a;
private float b;
+ private int lootingMod = org.bukkit.loot.LootContext.DEFAULT_LOOT_MODIFIER; // CraftBukkit
private Entity c;
private EntityHuman d;
private DamageSource e;
@@ -175,8 +179,15 @@
return this;
}
+ // CraftBukkit start - add looting modifier
+ public LootTableInfo.Builder lootingModifier(int modifier) {
+ this.lootingMod = modifier;
+ return this;
+ }
+ // CraftBukkit end
+
public LootTableInfo build() {
- return new LootTableInfo(this.b, this.a, this.a.getMinecraftServer().getLootTableRegistry(), this.c, this.d, this.e, this.f);
+ return new LootTableInfo(this.b, this.a, this.a.getMinecraftServer().getLootTableRegistry(), this.c, this.d, this.e, this.f, this.lootingMod); // CraftBukkit add looting modifier
}
}
}