Fix merchant inventories with custom titles
Dieser Commit ist enthalten in:
Ursprung
a3b7e3433a
Commit
a0c7bcf02a
@ -55,6 +55,15 @@
|
|||||||
public InventoryMerchant(EntityHuman entityhuman, IMerchant imerchant) {
|
public InventoryMerchant(EntityHuman entityhuman, IMerchant imerchant) {
|
||||||
this.itemsInSlots = NonNullList.a(3, ItemStack.a);
|
this.itemsInSlots = NonNullList.a(3, ItemStack.a);
|
||||||
this.player = entityhuman;
|
this.player = entityhuman;
|
||||||
|
@@ -78,7 +119,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
public IChatBaseComponent getDisplayName() {
|
||||||
|
- return new ChatMessage("mob.villager", new Object[0]);
|
||||||
|
+ return merchant.getScoreboardDisplayName(); // CraftBukkit
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasCustomName() {
|
||||||
@@ -91,7 +132,7 @@
|
@@ -91,7 +132,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,6 +270,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
|||||||
break;
|
break;
|
||||||
case CREATIVE:
|
case CREATIVE:
|
||||||
case CRAFTING:
|
case CRAFTING:
|
||||||
|
case MERCHANT:
|
||||||
throw new IllegalArgumentException("Can't open a " + type + " inventory!");
|
throw new IllegalArgumentException("Can't open a " + type + " inventory!");
|
||||||
}
|
}
|
||||||
if (getHandle().activeContainer == formerContainer) {
|
if (getHandle().activeContainer == formerContainer) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.bukkit.craftbukkit.inventory;
|
package org.bukkit.craftbukkit.inventory;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
import net.minecraft.server.BlockPosition;
|
import net.minecraft.server.BlockPosition;
|
||||||
import net.minecraft.server.ChatComponentText;
|
import net.minecraft.server.ChatComponentText;
|
||||||
import net.minecraft.server.EntityHuman;
|
import net.minecraft.server.EntityHuman;
|
||||||
@ -23,12 +24,13 @@ public class CraftMerchantCustom extends CraftMerchant {
|
|||||||
|
|
||||||
private static class MinecraftMerchant implements IMerchant {
|
private static class MinecraftMerchant implements IMerchant {
|
||||||
|
|
||||||
private final String title;
|
private final IChatBaseComponent title;
|
||||||
private final MerchantRecipeList trades = new MerchantRecipeList();
|
private final MerchantRecipeList trades = new MerchantRecipeList();
|
||||||
private EntityHuman tradingPlayer;
|
private EntityHuman tradingPlayer;
|
||||||
|
|
||||||
public MinecraftMerchant(String title) {
|
public MinecraftMerchant(String title) {
|
||||||
this.title = title;
|
Validate.notNull(title, "Title cannot be null");
|
||||||
|
this.title = new ChatComponentText(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -58,7 +60,7 @@ public class CraftMerchantCustom extends CraftMerchant {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IChatBaseComponent getScoreboardDisplayName() {
|
public IChatBaseComponent getScoreboardDisplayName() {
|
||||||
return new ChatComponentText(title);
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren