Skip to content

Commit 0fe92e0

Browse files
committed
Added Settings.PickupAnimationPlayerYOffset, Attempted to fix Enchantment Tables yet again
1 parent e8dba2b commit 0fe92e0

18 files changed

Lines changed: 85 additions & 84 deletions

src/com/loohp/interactionvisualizer/Blocks/AnvilDisplay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ public void onAnvil(InventoryClickEvent event) {
259259

260260
Bukkit.getScheduler().runTaskLater(InteractionVisualizer.plugin, () -> {
261261
Vector lift = new Vector(0.0, 0.15, 0.0);
262-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
262+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
263263
item.setItemStack(itemstack);
264264
item.setVelocity(pickup);
265265
item.setGravity(true);

src/com/loohp/interactionvisualizer/Blocks/BlastFurnaceDisplay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ public void onBlastFurnace(InventoryClickEvent event) {
324324
item.setLocked(true);
325325

326326
Vector lift = new Vector(0.0, 0.15, 0.0);
327-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
327+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
328328
item.setVelocity(pickup);
329329
item.setGravity(true);
330330
item.setPickupDelay(32767);

src/com/loohp/interactionvisualizer/Blocks/ChestDisplay.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,11 @@ public void onUseChest(InventoryClickEvent event) {
173173
if (itemstack != null) {
174174
Item item = new Item(loc.clone().add(0.5, 1, 0.5));
175175
Vector offset = new Vector(0.0, 0.15, 0.0);
176-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).toVector()).multiply(-0.15).add(offset);
176+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(-0.15).add(offset);
177177
item.setVelocity(vector);
178178
if (isIn) {
179-
item.teleport(event.getWhoClicked().getEyeLocation());
180-
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
179+
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
180+
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
181181
item.setVelocity(vector);
182182
}
183183
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
@@ -195,7 +195,7 @@ public void onUseChest(InventoryClickEvent event) {
195195
if (finalIsIn) {
196196
item.teleport(loc.clone().add(0.5, 1, 0.5));
197197
} else {
198-
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, -0.5, 0.0));
198+
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
199199
}
200200
item.setVelocity(new Vector(0.0, 0.0, 0.0));
201201
item.setGravity(false);
@@ -279,9 +279,9 @@ public void onDragChest(InventoryDragEvent event) {
279279
}
280280

281281
if (itemstack != null) {
282-
Item item = new Item(event.getWhoClicked().getEyeLocation());
282+
Item item = new Item(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
283283
Vector offset = new Vector(0.0, 0.15, 0.0);
284-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
284+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
285285
item.setVelocity(vector);
286286
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
287287
item.setItemStack(itemstack);

src/com/loohp/interactionvisualizer/Blocks/CraftingTableDisplay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ public void onCraft(InventoryClickEvent event) {
407407

408408
Bukkit.getScheduler().runTaskLater(InteractionVisualizer.plugin, () -> {
409409
Vector lift = new Vector(0.0, 0.15, 0.0);
410-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
410+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
411411
item.setItemStack(itemstack);
412412
item.setVelocity(pickup);
413413
item.setGravity(true);

src/com/loohp/interactionvisualizer/Blocks/DoubleChestDisplay.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ public void onUseDoubleChest(InventoryClickEvent event) {
194194
if (itemstack != null) {
195195
Item item = new Item(loc.clone().add(0.5, 1, 0.5));
196196
Vector offset = new Vector(0.0, 0.15, 0.0);
197-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).toVector()).multiply(-0.15).add(offset);
197+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(-0.15).add(offset);
198198
item.setVelocity(vector);
199199
if (isIn) {
200-
item.teleport(event.getWhoClicked().getEyeLocation());
201-
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
200+
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
201+
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
202202
item.setVelocity(vector);
203203
}
204204
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
@@ -217,7 +217,7 @@ public void onUseDoubleChest(InventoryClickEvent event) {
217217
if (finalIsIn) {
218218
item.teleport(finalLoc.clone().add(0.5, 1, 0.5));
219219
} else {
220-
item.teleport(player.getEyeLocation().add(0.0, -0.5, 0.0));
220+
item.teleport(player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
221221
}
222222
item.setVelocity(new Vector(0.0, 0.0, 0.0));
223223
item.setGravity(false);
@@ -322,9 +322,9 @@ public void onDragDoubleChest(InventoryDragEvent event) {
322322
}
323323

324324
if (itemstack != null) {
325-
Item item = new Item(event.getWhoClicked().getEyeLocation());
325+
Item item = new Item(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
326326
Vector offset = new Vector(0.0, 0.15, 0.0);
327-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
327+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
328328
item.setVelocity(vector);
329329
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
330330
item.setItemStack(itemstack);

src/com/loohp/interactionvisualizer/Blocks/EnchantmentTableDisplay.java

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,8 @@ public void onEnchant(EnchantItemEvent event) {
104104

105105
enchantsAdded = CustomMapUtils.sortMapByValueReverse(enchantsAdded);
106106

107-
if (!openedETable.containsKey(block)) {
108-
return;
109-
}
110-
111107
EnchantmentTableBundle etb = openedETable.get(block);
112-
if (!etb.getEnchanter().equals(player)) {
108+
if (etb == null || !etb.getEnchanter().equals(player)) {
113109
return;
114110
}
115111

@@ -152,15 +148,10 @@ public void onEnchantmentTableTake(InventoryClickEvent event) {
152148
}
153149

154150
Block block = playermap.get((Player) event.getWhoClicked());
155-
156-
if (!openedETable.containsKey(block)) {
157-
return;
158-
}
159-
160151
Player player = (Player) event.getWhoClicked();
161152

162153
EnchantmentTableBundle etb = openedETable.get(block);
163-
if (!etb.getEnchanter().equals(player)) {
154+
if (etb == null || !etb.getEnchanter().equals(player)) {
164155
return;
165156
}
166157

@@ -216,30 +207,23 @@ public void onDragEnchantmentTable(InventoryDragEvent event) {
216207

217208
@EventHandler
218209
public void onCloseEnchantmentTable(InventoryCloseEvent event) {
219-
220210
Player player = (Player) event.getPlayer();
221211

222212
if (!playermap.containsKey(player)) {
223213
return;
224214
}
225215

226-
Block block = playermap.get(player);
227-
228-
playermap.remove(player);
216+
Block block = playermap.remove(player);
229217

230218
ItemStack itemstack = event.getView().getItem(0) != null ? (!event.getView().getItem(0).getType().equals(Material.AIR) ? event.getView().getItem(0).clone() : null) : null;
231219

232220
Bukkit.getScheduler().runTaskLater(InteractionVisualizer.plugin, () -> {
233-
if (!openedETable.containsKey(block)) {
234-
return;
235-
}
236-
237221
EnchantmentTableBundle etb = openedETable.get(block);
238-
if (!etb.getEnchanter().equals(player)) {
222+
if (etb == null || !etb.getEnchanter().equals(player)) {
239223
return;
240224
}
241225

242226
etb.playPickUpAnimationAndRemove(itemstack, openedETable);
243-
}, 3);
227+
}, 1);
244228
}
245229
}

src/com/loohp/interactionvisualizer/Blocks/EnderchestDisplay.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,11 @@ public void onUseEnderChest(InventoryClickEvent event) {
195195
if (itemstack != null) {
196196
Item item = new Item(loc.clone().add(0.5, 1, 0.5));
197197
Vector offset = new Vector(0.0, 0.15, 0.0);
198-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).toVector()).multiply(-0.15).add(offset);
198+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(-0.15).add(offset);
199199
item.setVelocity(vector);
200200
if (isIn) {
201-
item.teleport(event.getWhoClicked().getEyeLocation());
202-
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
201+
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
202+
vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
203203
item.setVelocity(vector);
204204
}
205205
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
@@ -217,7 +217,7 @@ public void onUseEnderChest(InventoryClickEvent event) {
217217
if (finalIsIn) {
218218
item.teleport(loc.clone().add(0.5, 1, 0.5));
219219
} else {
220-
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, -0.5, 0.0));
220+
item.teleport(event.getWhoClicked().getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
221221
}
222222
item.setVelocity(new Vector(0.0, 0.0, 0.0));
223223
item.setGravity(false);
@@ -279,9 +279,9 @@ public void onDragEnderChest(InventoryDragEvent event) {
279279
}
280280

281281
if (itemstack != null) {
282-
Item item = new Item(event.getWhoClicked().getEyeLocation());
282+
Item item = new Item(event.getWhoClicked().getEyeLocation().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0));
283283
Vector offset = new Vector(0.0, 0.15, 0.0);
284-
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().toVector()).multiply(0.15).add(offset);
284+
Vector vector = loc.clone().add(0.5, 1, 0.5).toVector().subtract(event.getWhoClicked().getEyeLocation().clone().add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector()).multiply(0.15).add(offset);
285285
item.setVelocity(vector);
286286
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
287287
item.setItemStack(itemstack);

src/com/loohp/interactionvisualizer/Blocks/FurnaceDisplay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ public void onFurnace(InventoryClickEvent event) {
330330
item.setLocked(true);
331331

332332
Vector lift = new Vector(0.0, 0.15, 0.0);
333-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
333+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
334334
item.setVelocity(pickup);
335335
item.setGravity(true);
336336
item.setPickupDelay(32767);

src/com/loohp/interactionvisualizer/Blocks/GrindstoneDisplay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void onGrindstone(InventoryClickEvent event) {
255255

256256
Bukkit.getScheduler().runTaskLater(InteractionVisualizer.plugin, () -> {
257257
Vector lift = new Vector(0.0, 0.15, 0.0);
258-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
258+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
259259
item.setItemStack(itemstack);
260260
item.setVelocity(pickup);
261261
item.setGravity(true);

src/com/loohp/interactionvisualizer/Blocks/LoomDisplay.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ public void onLoom(InventoryClickEvent event) {
266266
item.setLocked(true);
267267
item.setGravity(true);
268268
Vector lift = new Vector(0.0, 0.15, 0.0);
269-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
269+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(loc.clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
270270
item.setVelocity(pickup);
271271
item.setPickupDelay(32767);
272272
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);
@@ -377,7 +377,7 @@ public void onCloseLoom(InventoryCloseEvent event) {
377377
item.setLocked(true);
378378
item.setGravity(true);
379379
Vector lift = new Vector(0.0, 0.15, 0.0);
380-
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).toVector().subtract(block.getLocation().clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
380+
Vector pickup = player.getEyeLocation().add(0.0, -0.5, 0.0).add(0.0, InteractionVisualizer.playerPickupYOffset, 0.0).toVector().subtract(block.getLocation().clone().add(0.5, 1.2, 0.5).toVector()).multiply(0.15).add(lift);
381381
item.setVelocity(pickup);
382382
item.setPickupDelay(32767);
383383
PacketManager.sendItemSpawn(InteractionVisualizer.itemDrop, item);

0 commit comments

Comments
 (0)