@@ -14,8 +14,6 @@ import org.bukkit.inventory.MerchantRecipe;
|
||||
|
||||
public class CraftAbstractVillager extends CraftAgeable implements AbstractVillager, InventoryHolder {
|
||||
|
||||
private CraftMerchant merchant;
|
||||
|
||||
public CraftAbstractVillager(CraftServer server, EntityVillagerAbstract entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
@@ -36,7 +34,7 @@ public class CraftAbstractVillager extends CraftAgeable implements AbstractVilla
|
||||
}
|
||||
|
||||
private CraftMerchant getMerchant() {
|
||||
return (merchant == null) ? merchant = new CraftMerchant(getHandle()) : merchant;
|
||||
return getHandle().getCraftMerchant();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.event;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Functions;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.mojang.datafixers.util.Either;
|
||||
import java.net.InetAddress;
|
||||
@@ -16,6 +17,7 @@ import net.minecraft.server.BlockPropertyInstrument;
|
||||
import net.minecraft.server.ChatMessage;
|
||||
import net.minecraft.server.ChatModifier;
|
||||
import net.minecraft.server.Container;
|
||||
import net.minecraft.server.ContainerMerchant;
|
||||
import net.minecraft.server.DamageSource;
|
||||
import net.minecraft.server.DimensionManager;
|
||||
import net.minecraft.server.Entity;
|
||||
@@ -161,6 +163,7 @@ import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||
import org.bukkit.event.inventory.PrepareAnvilEvent;
|
||||
import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
||||
import org.bukkit.event.inventory.TradeSelectEvent;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
|
||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||
@@ -179,6 +182,8 @@ import org.bukkit.event.server.ServerListPingEvent;
|
||||
import org.bukkit.event.vehicle.VehicleCreateEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
import org.bukkit.inventory.Merchant;
|
||||
import org.bukkit.inventory.MerchantInventory;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
@@ -244,6 +249,15 @@ public class CraftEventFactory {
|
||||
return nmsBedResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Trade Index Change Event
|
||||
*/
|
||||
public static TradeSelectEvent callTradeSelectEvent(EntityPlayer player, int newIndex, ContainerMerchant merchant) {
|
||||
TradeSelectEvent tradeSelectEvent = new TradeSelectEvent(merchant.getBukkitView(), newIndex);
|
||||
Bukkit.getPluginManager().callEvent(tradeSelectEvent);
|
||||
return tradeSelectEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Block place methods
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import net.minecraft.server.IMerchant;
|
||||
import net.minecraft.server.InventoryMerchant;
|
||||
import org.bukkit.inventory.Merchant;
|
||||
import org.bukkit.inventory.MerchantInventory;
|
||||
import org.bukkit.inventory.MerchantRecipe;
|
||||
|
||||
public class CraftInventoryMerchant extends CraftInventory implements MerchantInventory {
|
||||
|
||||
public CraftInventoryMerchant(InventoryMerchant merchant) {
|
||||
super(merchant);
|
||||
private final IMerchant merchant;
|
||||
|
||||
public CraftInventoryMerchant(IMerchant merchant, InventoryMerchant inventory) {
|
||||
super(inventory);
|
||||
this.merchant = merchant;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -25,4 +30,9 @@ public class CraftInventoryMerchant extends CraftInventory implements MerchantIn
|
||||
public InventoryMerchant getInventory() {
|
||||
return (InventoryMerchant) inventory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Merchant getMerchant() {
|
||||
return merchant.getCraftMerchant();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ public class CraftMerchantCustom extends CraftMerchant {
|
||||
|
||||
public CraftMerchantCustom(String title) {
|
||||
super(new MinecraftMerchant(title));
|
||||
getMerchant().craftMerchant = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -32,12 +33,18 @@ public class CraftMerchantCustom extends CraftMerchant {
|
||||
private final MerchantRecipeList trades = new MerchantRecipeList();
|
||||
private EntityHuman tradingPlayer;
|
||||
private World tradingWorld;
|
||||
protected CraftMerchant craftMerchant;
|
||||
|
||||
public MinecraftMerchant(String title) {
|
||||
Validate.notNull(title, "Title cannot be null");
|
||||
this.title = new ChatComponentText(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CraftMerchant getCraftMerchant() {
|
||||
return craftMerchant;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTradingPlayer(EntityHuman entityhuman) {
|
||||
this.tradingPlayer = entityhuman;
|
||||
|
||||
Reference in New Issue
Block a user