geforkt von Mirrors/Paper
603159dedf
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
66 Zeilen
3.0 KiB
Diff
66 Zeilen
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
Date: Sun, 30 Nov 2014 18:58:07 -0600
|
|
Subject: [PATCH] Allow specified ItemStacks to retain their invalid data
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
|
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
|
@@ -0,0 +0,0 @@ import org.bukkit.entity.Player;
|
|
import org.bukkit.event.world.StructureGrowEvent;
|
|
// CraftBukkit end
|
|
|
|
+import org.github.paperspigot.PaperSpigotConfig; // PaperSpigot
|
|
+
|
|
public final class ItemStack {
|
|
|
|
public static final DecimalFormat a = new DecimalFormat("#.###");
|
|
@@ -0,0 +0,0 @@ public final class ItemStack {
|
|
}
|
|
|
|
// Is this a block?
|
|
- if (CraftMagicNumbers.getBlock(CraftMagicNumbers.getId(this.getItem())) != Blocks.AIR) {
|
|
+ // PaperSpigot start - Allow specific blocks to retain their data values
|
|
+ int id = CraftMagicNumbers.getId(this.getItem());
|
|
+ if (CraftMagicNumbers.getBlock(id) != Blocks.AIR) {
|
|
// If vanilla doesn't use data on it don't allow any
|
|
- if (!(this.usesData() || this.getItem().usesDurability())) {
|
|
+ if ((PaperSpigotConfig.dataValueAllowedItems == null || !PaperSpigotConfig.dataValueAllowedItems.contains(id)) &&
|
|
+ (!(this.usesData() || this.getItem().usesDurability()))) {
|
|
+ // PaperSpigot end
|
|
i = 0;
|
|
}
|
|
}
|
|
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotConfig.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotConfig.java
|
|
@@ -0,0 +0,0 @@ import java.io.IOException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.Method;
|
|
import java.lang.reflect.Modifier;
|
|
-import java.util.HashMap;
|
|
-import java.util.List;
|
|
-import java.util.Map;
|
|
+import java.util.*;
|
|
import java.util.logging.Level;
|
|
import net.minecraft.server.MinecraftServer;
|
|
+import org.apache.commons.lang.StringUtils;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.configuration.InvalidConfigurationException;
|
|
@@ -0,0 +0,0 @@ public class PaperSpigotConfig
|
|
strengthEffectModifier = getDouble( "effect-modifiers.strength", 1.3D );
|
|
weaknessEffectModifier = getDouble( "effect-modifiers.weakness", -0.5D );
|
|
}
|
|
+
|
|
+ public static Set<Integer> dataValueAllowedItems;
|
|
+ private static void dataValueAllowedItems()
|
|
+ {
|
|
+ dataValueAllowedItems = new HashSet<Integer>( getList( "data-value-allowed-items", Collections.emptyList() ) );
|
|
+ Bukkit.getLogger().info( "Data value allowed items: " + StringUtils.join(dataValueAllowedItems, ", ") );
|
|
+ }
|
|
}
|
|
--
|