Archiviert
13
0
Dieses Repository wurde am 2024-12-25 archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
Paper-Old/CraftBukkit-Patches/0148-Prevent-null-hopper-owners-crashing-the-server.patch
2014-06-22 15:55:54 -05:00

43 Zeilen
2.0 KiB
Diff

From 6642bbcbdf4d07ec3f6b80f8917616071446109a Mon Sep 17 00:00:00 2001
From: Suddenly <suddenly@suddenly.coffee>
Date: Tue, 27 May 2014 14:00:41 +0100
Subject: [PATCH] Prevent null hopper owners crashing the server
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
index c7b3495..f7a6140 100644
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
@@ -243,13 +243,23 @@ public class TileEntityHopper extends TileEntity implements IHopper {
if (!this.j() && BlockHopper.c(this.p())) {
boolean flag = false;
- if (!this.k()) {
- flag = this.x();
+ try { // PaperSpigot Start (Try/catch to prevent null owner crash)
+ if (!this.k()) {
+ flag = this.x();
+ }
+ } catch (NullPointerException e) {
+ this.getWorld().setAir(this.x, this.y, this.z);
+ org.bukkit.Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Null owner found for hopper, removing hopper at {0} {1}, {2}, {3}", new Object[]{this.getWorld().getWorld().getName(), this.x, this.y, this.z});
}
- if (!this.l()) {
- flag = suckInItems(this) || flag;
- }
+ try {
+ if (!this.l()) {
+ flag = suckInItems(this) || flag;
+ }
+ } catch (NullPointerException e) {
+ this.getWorld().setAir(this.x, this.y, this.z);
+ org.bukkit.Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Null owner found for hopper, removing hopper at {0} {1}, {2}, {3}", new Object[]{this.getWorld().getWorld().getName(), this.x, this.y, this.z});
+ } // PaperSpigot End
if (flag) {
this.c(world.spigotConfig.hopperTransfer); // Spigot
--
1.9.1