use of net.minecraft.server.v1_12_R1.Item in project VehiclesPlus2.0 by legofreak107.
the class Main method onCommand.
@SuppressWarnings({ "deprecation" })
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("vp")) {
if (args.length > 0) {
if (args[0].equalsIgnoreCase("add")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 14) {
// vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount>
if (checkFloat(args[2]) && checkFloat(args[3]) && checkFloat(args[4]) && checkFloat(args[5]) && checkInt(args[6]) && checkFloat(args[7]) && checkFloat(args[8]) && checkInt(args[10]) && checkInt(args[11]) && checkInt(args[12])) {
Fuel f = getFuel(args[13]);
if (isValidType(args[9])) {
if (f != null) {
if (((Player) sender).getInventory().getItemInMainHand().getType() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
Vehicle v = new Vehicle();
v.plugin = this;
v.name = args[1];
v.type = getType(args[9]);
v.skin = ((Player) sender).getInventory().getItemInMainHand();
v.fspeed = Float.parseFloat(args[2]);
v.bspeed = Float.parseFloat(args[3]);
v.acceleration = Float.parseFloat(args[4]);
v.turnSpeed = Float.parseFloat(args[5]);
v.maxFuel = Float.parseFloat(args[7]);
v.fualUsage = Float.parseFloat(args[8]);
v.price = Integer.parseInt(args[10]);
v.maxHealth = Integer.parseInt(args[12]);
v.fuelType = f;
Inventory inv = Bukkit.createInventory(null, Integer.parseInt(args[11]), "�2" + v.name);
v.inv = inv;
ArrayList<Seat> si = new ArrayList<Seat>();
for (int i = 0; i < Integer.parseInt(args[6]); i++) {
Seat s = new Seat();
if (i == 0) {
s.steer = true;
} else {
s.steer = false;
}
s.offset = new Vector(0, 0, 0);
si.add(s);
}
v.seats = si;
sal.addVehicle(v);
vehicleTypeList.add(v);
sender.sendMessage("�2Vehicle added!");
} else {
sender.sendMessage("�cMake sure that you are holding an item when you set up a car!");
}
} else {
sender.sendMessage("�cThis is not a valid fuel type, please type /vp fuel list for a list of fuels.");
}
} else {
sender.sendMessage("�cThis is not a valid type, please use: Car, Plane, Bike or Helicopter.");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp add <@name> <%forwardspeed> <%backwardspeed> <%acceleration> <%turnspeed> <&seatamount> <%maxfuel> <%fuelusage> <@type> <&price> <&trunksize> <&health> <@fuelType>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp add <@name> <%forwardspeed> <%backwardspeed> <%acceleration> <%turnspeed> <&seatamount> <%maxfuel> <%fuelusage> <@type> <&price> <&trunksize> <&health> <@fuelType>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("seatpos")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 6) {
// vp seatpos <name> <seatno> <x> <y> <z>
if (isValidVehicle(args[1])) {
if (checkInt(args[2]) && checkFloat(args[3]) && checkFloat(args[4]) && checkFloat(args[5])) {
float x = Float.parseFloat(args[3]);
float y = Float.parseFloat(args[4]);
float z = Float.parseFloat(args[5]);
Integer no = Integer.parseInt(args[2]);
String name = args[1];
Vehicle v = getVehicle(name);
if (no <= v.seats.size() && no > -1) {
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetX", x);
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetY", y);
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetZ", z);
saveConfig();
sender.sendMessage("�2Pos changed");
} else {
sender.sendMessage("�cInvalid seat number!");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp seatpos <@name> <&seats> <%x> <%y> <%z>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cInvalid vehicle name");
}
} else {
sender.sendMessage("�cNot enough arguments.");
sender.sendMessage("�cError in command syntax, usage: /vp seatpos <@name> <&seats> <%x> <%y> <%z>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("spawn")) {
if (sender.hasPermission("vp.spawn")) {
if (args.length == 2) {
// vp spawn <name>
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
v.owner = sender.getName();
v.fuel = 25;
VPPlayer pla = new VPPlayer();
pla.p = ((Player) sender);
v.p = pla;
v.spawnLoc = ((Player) sender).getLocation();
v.spawn();
sender.sendMessage("�2Vehicle spawned!");
} else {
sender.sendMessage("�cThis is not a valid vehicle, try /vp list for a list of vehicles.");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp spawn <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("reset")) {
if (sender.hasPermission("vp.reset")) {
// vp spawn <name>
for (Vehicle v : playerVehicles.get(sender)) {
if (v.holder != null) {
((Player) sender).getInventory().removeItem(keys.get(v));
v.remove();
v.holder.remove();
v.holder = null;
}
}
sender.sendMessage("�2All your cars are now back in your garage!");
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("license")) {
if (sender.hasPermission("vp.license")) {
// vp spawn <name>
Player p = ((Player) sender);
for (Entity e : p.getWorld().getNearbyEntities(p.getLocation(), 2, 2, 2)) {
if (e instanceof ArmorStand) {
if (vehicleInfo.containsKey(e)) {
Vehicle c = vehicleInfo.get(e);
sender.sendMessage("�8===========================================");
sender.sendMessage("�6Vehicle info:");
sender.sendMessage("�6");
sender.sendMessage("�6Owner: " + c.owner);
sender.sendMessage("�6Type: " + c.type);
sender.sendMessage("�6Health: " + c.getHealth());
sender.sendMessage("�8===========================================");
break;
}
}
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("list")) {
if (sender.hasPermission("vp.list")) {
if (args.length == 1) {
sender.sendMessage("�2Available vehicles:");
for (Vehicle v : vehicleTypeList) {
sender.sendMessage("�3" + v.name + " �6|| �3" + v.type);
}
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("reload")) {
if (sender.hasPermission("vp.reload")) {
if (args.length == 1) {
disabe();
enable();
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("info")) {
if (sender.hasPermission("vp.info")) {
if (args.length == 2) {
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
sender.sendMessage("�2Vehicle info:");
sender.sendMessage("�3Forward speed: " + v.fspeed);
sender.sendMessage("�3Backward speed: " + v.bspeed);
sender.sendMessage("�3Acceleration: " + v.acceleration);
sender.sendMessage("�3Turn speed: " + v.turnSpeed);
sender.sendMessage("�3Seats: " + v.seats.size());
sender.sendMessage("�3Item: " + v.skin.getType().toString());
sender.sendMessage("�3ItemData: " + v.skin.getData());
sender.sendMessage("�3Price: " + v.price);
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp info <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("setskin")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 2) {
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
if (((Player) sender).getInventory().getItemInMainHand() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
getConfig().set("Vehicles." + v.name + ".skin.material", ((Player) sender).getInventory().getItemInMainHand().getType().getId());
getConfig().set("Vehicles." + v.name + ".skin.data", ((Player) sender).getInventory().getItemInMainHand().getData().getData());
saveConfig();
sender.sendMessage("�2Updated vehicle skin");
} else {
sender.sendMessage("�cPlease make sure you are holding an item in your hand");
}
} else {
sender.sendMessage("�cThis is not a valid vehicle, try /vp list for a list of vehicles.");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp setskin <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("give")) {
if (sender.hasPermission("vp.give")) {
if (args.length == 3) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null && isValidVehicle(args[2])) {
Vehicle v = getVehicle(args[2]);
ItemStack item = v.skin;
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name);
im.setLore(Arrays.asList("�8Place to spawn"));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp give <player> <name>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp give <player> <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("givekey")) {
if (sender.hasPermission("vp.givekey")) {
if (args.length == 3) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null && isValidVehicle(args[2])) {
Vehicle v = getVehicle(args[2]);
ItemStack item = new ItemStack(Material.TRIPWIRE_HOOK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name + " key");
im.setLore(Arrays.asList("�8Press your vp to lock/unlock "));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givekey <player> <name>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givekey <player> <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("givewrench")) {
if (sender.hasPermission("vp.givewrench")) {
if (args.length == 2) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null) {
ItemStack item = new ItemStack(Material.STICK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2Wrench");
im.setLore(Arrays.asList("�8Press you vehicle to upgrade/repair"));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givewrench <player>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givewrench <player>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("fuel")) {
if (args.length > 1) {
if (sender.hasPermission("vp.fuel")) {
if (args[1].equalsIgnoreCase("list")) {
sender.sendMessage("�8=========================================");
for (Fuel f : fuelTypes) {
sender.sendMessage(" �6" + f.name + " �8| �6$" + f.fuelPrice + " �8| �6Fills: " + f.fuelAmount);
}
sender.sendMessage("�8=========================================");
} else if (args[1].equalsIgnoreCase("give")) {
if (args.length == 5) {
Player p = Bukkit.getPlayer(args[2]);
Fuel f = getFuel(args[3]);
if (p != null && checkInt(args[4]) && f != null) {
Integer v = Integer.parseInt(args[4]);
for (int i = 0; i < v; i++) f.give(p);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp fuel give <player> <fuel> <amount>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp fuel give <player> <fuel> <amount>");
}
} else if (args[1].equalsIgnoreCase("add")) {
if (args.length == 5) {
// vp addfuel <name> <price> <amount>
if (checkInt(args[3]) && checkInt(args[4])) {
if (((Player) sender).getInventory().getItemInMainHand() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
Fuel f = new Fuel();
f.fuelAmount = Integer.parseInt(args[4]);
f.fuelPrice = Integer.parseInt(args[3]);
f.name = args[2];
f.item = ((Player) sender).getInventory().getItemInMainHand();
f.save(this);
fuelTypes.add(f);
sender.sendMessage("�2Fuel added!");
} else {
sender.sendMessage("�cPlease make sure that you are holding an item in your hand!");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp fuel add <@name> <&price> <&fuelamount>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp fuel add <@name> <&price> <&fuelamount>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
}
} else {
sender.sendMessage("�cYou don't have permissions to perform this command!");
}
} else {
sender.sendMessage("�8=====================================================");
sender.sendMessage("�6/vp fuel list �8| �6Shows a list of fuels");
sender.sendMessage("�6/vp fuel give <player> <fuel> <amount> �8| �6Give fuel to a player");
sender.sendMessage("�6/vp fuel add <name> <price> <fillamount> �8| �6Add a new fuel type");
sender.sendMessage("�8=====================================================");
}
} else if (args[0].equalsIgnoreCase("lock")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
if (v.owner.equals(p.getName())) {
v.locked = true;
p.sendMessage("�2Vehicle locked!");
} else {
p.sendMessage("�2You aren't the owner of this vp!");
}
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to lock it!");
}
}
} else if (args[0].equalsIgnoreCase("enter")) {
if (args.length == 1) {
Player p = (Player) sender;
for (Entity e : p.getWorld().getNearbyEntities(p.getLocation(), 2, 2, 2)) {
if (e instanceof ArmorStand) {
if (seatInfo.containsKey(e)) {
Seat s = seatInfo.get(e);
Vehicle c = vehicleInfo.get(s.parent);
if (c.locked == null) {
c.locked = false;
}
if (!c.locked && !(s.seat.getPassengers().size() > 0)) {
s.seat.addPassenger(p);
break;
}
}
}
}
}
} else if (args[0].equalsIgnoreCase("trunk")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
p.openInventory(v.inv);
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to use the trunk!");
}
}
} else if (args[0].equalsIgnoreCase("unlock")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
if (v.owner.equals(p.getName())) {
v.locked = false;
p.sendMessage("�2Vehicle unlocked!");
} else {
p.sendMessage("�2You aren't the owner of this vp!");
}
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to unlock it!");
}
}
} else if (args[0].equalsIgnoreCase("shop")) {
if (args.length == 1) {
Player p = (Player) sender;
Inventory i = Bukkit.createInventory(p, 9 * 6, "�2Vehicle shop");
for (Vehicle v : vehicleTypeList) {
if (v.price != 0) {
i.addItem(genItem(v.skin, 1, "�6" + v.name, "�aClick to buy@�3Price: " + v.price));
}
}
p.openInventory(i);
}
} else if (args[0].equalsIgnoreCase("garage")) {
if (sender.hasPermission("vp.garage")) {
if (args.length == 1) {
Player p = (Player) sender;
openGarage(p, 0, p);
} else if (args.length == 2) {
Player p = (Player) sender;
Player p2 = Bukkit.getPlayer(args[1]);
if (sender.hasPermission("vp.admin")) {
if (playerVehicles.containsKey(p2) && p2 != null) {
openGarage(p2, 0, p);
} else {
p.sendMessage("�cThat player is not online");
}
} else {
sender.sendMessage("�cYou don't have permissions to do this!");
}
}
} else {
sender.sendMessage("�cYou don't have permissions to do this!");
}
} else if (args[0].equalsIgnoreCase("help")) {
if (sender.hasPermission("vp.help")) {
if (args.length == 1) {
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
sender.sendMessage("�8/vp list �6|| �8Shows all vehicles");
sender.sendMessage("�8/vp give <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp givekey <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp reload �6|| �8Reloads config.");
sender.sendMessage("�8/vp help �6|| �8Shows this");
sender.sendMessage("�8/vp killall �6|| �8Kills all vehicles");
sender.sendMessage("�8/vp seatpos <name> <seat#> <x> <y> <z> �6|| �8Set the pos of a seat");
sender.sendMessage("�8/vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount> <type> �6|| �8Add a new vehicle");
sender.sendMessage("�8/vp setskin <name> �6|| �8Set the skin to item in hand");
sender.sendMessage("�8/vp spawn <name> �6|| �8Spawn a vehicle");
sender.sendMessage("�8/vp info <name> �6|| �8Shows vehicle info");
sender.sendMessage("�8/vp fuel �6|| �8Fuel management");
sender.sendMessage("�8/vp givewrench <name> �6|| �8Gives fuel");
sender.sendMessage("�8/vp lock�6|| �8Locks vehicle");
sender.sendMessage("�8/vp unlock�6|| �8Unlocks vehicle");
sender.sendMessage("�8/vp trunk�6|| �8Opens vehicle trunk");
sender.sendMessage("�8/vp garage�6|| �8Opens vehicle garage");
sender.sendMessage("�8/vp garage <player>�6|| �8Opens vehicle garage (Admin mode)");
sender.sendMessage("�8/vp enter �6|| �8Enter the nearest seat within 2 blocks");
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp help");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
}
} else {
if (sender.hasPermission("vp.add")) {
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
sender.sendMessage("�8/vp list �6|| �8Shows all vehicles");
sender.sendMessage("�8/vp give <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp givekey <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp reload �6|| �8Reloads config.");
sender.sendMessage("�8/vp help �6|| �8Shows this");
sender.sendMessage("�8/vp killall �6|| �8Kills all vehicles");
sender.sendMessage("�8/vp seatpos <name> <seat#> <x> <y> <z> �6|| �8Set the pos of a seat");
sender.sendMessage("�8/vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount> <type> �6|| �8Add a new vehicle");
sender.sendMessage("�8/vp setskin <name> �6|| �8Set the skin to item in hand");
sender.sendMessage("�8/vp spawn <name> �6|| �8Spawn a vehicle");
sender.sendMessage("�8/vp info <name> �6|| �8Shows vehicle info");
sender.sendMessage("�8/vp fuel �6|| �8Fuel management");
sender.sendMessage("�8/vp givewrench <name> �6|| �8Gives fuel");
sender.sendMessage("�8/vp lock�6|| �8Locks vehicle");
sender.sendMessage("�8/vp unlock�6|| �8Unlocks vehicle");
sender.sendMessage("�8/vp trunk�6|| �8Opens vehicle trunk");
sender.sendMessage("�8/vp garage�6|| �8Opens vehicle garage");
sender.sendMessage("�8/vp garage <player>�6|| �8Opens vehicle garage (Admin mode)");
sender.sendMessage("�8/vp enter �6|| �8Enter the nearest seat within 2 blocks");
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
}
}
return false;
}
use of net.minecraft.server.v1_12_R1.Item in project CokesAddon by Cokes86.
the class v1_12_R1 method injectPlayer.
public void injectPlayer(Player player) {
CraftPlayer player1 = (CraftPlayer) player;
if (!player.isValid())
return;
if (channelHandlers.containsKey(player.getUniqueId())) {
final Pair<CraftPlayer, ChannelOutboundHandlerAdapter> pair = channelHandlers.get(player.getUniqueId());
if (!pair.getLeft().isValid()) {
try {
pair.getLeft().getHandle().playerConnection.networkManager.channel.pipeline().remove(pair.getRight());
} catch (NoSuchElementException ignored) {
}
} else
return;
}
final ChannelOutboundHandlerAdapter handler = new ChannelOutboundHandlerAdapter() {
@Override
public void write(ChannelHandlerContext ctx, Object packet, ChannelPromise promise) throws Exception {
if (packet instanceof PacketPlayOutEntityEquipment) {
if ((int) ReflectionUtil.FieldUtil.getValue(packet, "a") == getPlayer().getEntityId()) {
ReflectionUtil.FieldUtil.setValue(packet, "c", ItemStack.a);
}
} else if (packet instanceof PacketPlayOutEntityMetadata) {
if ((int) ReflectionUtil.FieldUtil.getValue(packet, "a") == getPlayer().getEntityId()) {
List<Item<?>> items = ReflectionUtil.FieldUtil.getValue(packet, "b");
if (items.size() != 0) {
Item<?> item = items.get(0);
if (BYTE_DATA_WATCHER_OBJECT.equals(item.a())) {
Item<Byte> byteItem = (Item<Byte>) item;
byteItem.a((byte) (byteItem.b() | 1 << 5));
((CraftPlayer) getPlayer()).getHandle().setInvisible(true);
}
}
}
}
super.write(ctx, packet, promise);
}
};
channelHandlers.put(player.getUniqueId(), Pair.of(player1, handler));
player1.getHandle().playerConnection.networkManager.channel.pipeline().addBefore("packet_handler", hashCode() + ":" + player.getName(), handler);
}
use of net.minecraft.server.v1_12_R1.Item in project PublicCrafters by BananaPuncher714.
the class CustomInventoryCrafting method setItems.
protected void setItems(List<org.bukkit.inventory.ItemStack> items) {
int index = 0;
for (org.bukkit.inventory.ItemStack item : items) {
this.items.set(index++, CraftItemStack.asNMSCopy(item));
}
// Want to update the result without having to use a real player
if (this.resultInventory instanceof InventoryCraftResult) {
CustomContainerWorkbench container = new CustomContainerWorkbench(manager.mockPlayer.getBukkitEntity(), bloc, this, (InventoryCraftResult) resultInventory);
container.a(this);
CraftingInventory crafting = (CraftingInventory) container.getBukkitView().getTopInventory();
Bukkit.getPluginManager().callEvent(new PrepareItemCraftEvent(crafting, container.getBukkitView(), false));
}
display.forceUpdate();
}
use of net.minecraft.server.v1_12_R1.Item in project MechanicsMain by WeaponMechanics.
the class NonNullList_1_13_R2 method set.
@Override
public ItemStack set(int index, ItemStack newItem) {
ItemStack oldItem = get(index);
Item item = (Item) ReflectionUtil.invokeField(itemField, newItem);
if (newItem.getCount() == 0 && item != null) {
newItem.setCount(1);
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
newItem.setCount(0);
} else if (!ItemStack.matches(oldItem, newItem)) {
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
}
return super.set(index, newItem);
}
use of net.minecraft.server.v1_12_R1.Item in project MechanicsMain by WeaponMechanics.
the class NonNullList_1_16_R3 method set.
@Override
public ItemStack set(int index, ItemStack newItem) {
ItemStack oldItem = get(index);
Item item = (Item) ReflectionUtil.invokeField(itemField, newItem);
if (newItem.getCount() == 0 && item != null) {
newItem.setCount(1);
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
newItem.setCount(0);
} else if (!ItemStack.matches(oldItem, newItem)) {
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
}
return super.set(index, newItem);
}
Aggregations