mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-09 13:28:36 +02:00
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 39ce5d3a SPIGOT-4399: ItemMeta.equals broken with AttributeModifiers CraftBukkit Changes:1cf8b5dc
SPIGOT-4400: Populators running on existing chunks116cb9a1
SPIGOT-4399: Add attribute modifier equality test5ee1c18a
SPIGOT-4398: Set ASM7_EXPERIMENTAL flag
55 lines
2.5 KiB
Diff
55 lines
2.5 KiB
Diff
From db89aad42fed29154f0c27aa6cf8bbdc494da756 Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
|
Date: Sat, 12 Nov 2016 23:25:22 -0600
|
|
Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 40746c13ef..5e51aef84c 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -3,6 +3,7 @@ package com.destroystokyo.paper;
|
|
import java.util.List;
|
|
|
|
import net.minecraft.server.MinecraftServer;
|
|
+import org.bukkit.Bukkit;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.spigotmc.SpigotWorldConfig;
|
|
|
|
@@ -336,4 +337,12 @@ public class PaperWorldConfig {
|
|
private void removeCorruptTEs() {
|
|
removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false);
|
|
}
|
|
+
|
|
+ public boolean filterNBTFromSpawnEgg = true;
|
|
+ private void fitlerNBTFromSpawnEgg() {
|
|
+ filterNBTFromSpawnEgg = getBoolean("filter-nbt-data-from-spawn-eggs-and-related", true);
|
|
+ if (!filterNBTFromSpawnEgg) {
|
|
+ Bukkit.getLogger().warning("Spawn Egg and Armor Stand NBT filtering disabled, this is a potential security risk");
|
|
+ }
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
index 1fb912eb0d..3c3f82f987 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
@@ -228,6 +228,15 @@ public class EntityFallingBlock extends Entity {
|
|
|
|
protected void a(NBTTagCompound nbttagcompound) {
|
|
this.block = GameProfileSerializer.d(nbttagcompound.getCompound("BlockState"));
|
|
+
|
|
+ // Paper start - Block FallingBlocks with Command Blocks
|
|
+ // Check mappings on update - dc = "repeating_command_block" - dd = "chain_command_block"
|
|
+ final Block b = this.block.getBlock();
|
|
+ if (this.world.paperConfig.filterNBTFromSpawnEgg && (b == Blocks.COMMAND_BLOCK || b == Blocks.REPEATING_COMMAND_BLOCK || b == Blocks.CHAIN_COMMAND_BLOCK)) {
|
|
+ this.block = Blocks.STONE.getBlockData();
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
this.ticksLived = nbttagcompound.getInt("Time");
|
|
if (nbttagcompound.hasKeyOfType("HurtEntities", 99)) {
|
|
this.hurtEntities = nbttagcompound.getBoolean("HurtEntities");
|
|
--
|
|
2.19.0
|
|
|