Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build-data/paper.at
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ public net.minecraft.world.entity.animal.horse.AbstractHorse owner
public net.minecraft.world.entity.animal.horse.Horse setVariantAndMarkings(Lnet/minecraft/world/entity/animal/horse/Variant;Lnet/minecraft/world/entity/animal/horse/Markings;)V
public net.minecraft.world.entity.animal.horse.Llama setVariant(Lnet/minecraft/world/entity/animal/horse/Llama$Variant;)V
public net.minecraft.world.entity.animal.horse.SkeletonHorse trapTime
public net.minecraft.world.entity.animal.nautilus.AbstractNautilus inventory
public net.minecraft.world.entity.animal.sniffer.Sniffer calculateDigPosition()Ljava/util/Optional;
public net.minecraft.world.entity.animal.sniffer.Sniffer canDig()Z
public net.minecraft.world.entity.animal.sniffer.Sniffer getExploredPositions()Ljava/util/stream/Stream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package org.bukkit.entity;

public interface AbstractNautilus extends Animals, Tameable {
import org.bukkit.inventory.InventoryHolder;

public interface AbstractNautilus extends Animals, InventoryHolder, Tameable {
}
Original file line number Diff line number Diff line change
Expand Up @@ -1043,7 +1043,7 @@
return OptionalInt.of(this.containerCounter);
}
}
@@ -1342,14 +_,25 @@
@@ -1342,27 +_,49 @@

@Override
public void openHorseInventory(AbstractHorse horse, Container inventory) {
Expand Down Expand Up @@ -1072,6 +1072,32 @@
this.initMenu(this.containerMenu);
}

@Override
public void openNautilusInventory(AbstractNautilus nautilus, Container inventory) {
+ // Paper start - Inventory open hook
+ this.nextContainerCounter(); // moved up from below
+ AbstractContainerMenu menu = new NautilusInventoryMenu(this.containerCounter, this.getInventory(), inventory, nautilus, nautilus.getInventoryColumns());
+ menu.setTitle(nautilus.getDisplayName());
+ menu = org.bukkit.craftbukkit.event.CraftEventFactory.callInventoryOpenEvent(this, containerMenu);
+
+ if (menu == null) {
+ inventory.stopOpen(this);
+ return;
+ }
+ // Paper end
if (this.containerMenu != this.inventoryMenu) {
this.closeContainer();
}

- this.nextContainerCounter();
+ // this.nextContainerCounter(); Paper - Move Up
int inventoryColumns = nautilus.getInventoryColumns();
this.connection.send(new ClientboundMountScreenOpenPacket(this.containerCounter, inventoryColumns, nautilus.getId()));
- this.containerMenu = new NautilusInventoryMenu(this.containerCounter, this.getInventory(), inventory, nautilus, inventoryColumns);
+ this.containerMenu = menu; // Paper - Moved up declaration
this.initMenu(this.containerMenu);
}

@@ -1384,10 +_,30 @@

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,12 @@
this.tame(player);
this.navigation.stop();
this.level().broadcastEntityEvent(this, EntityEvent.TAMING_SUCCEEDED);
@@ -481,7 +_,7 @@

protected void createInventory() {
SimpleContainer simpleContainer = this.inventory;
- this.inventory = new SimpleContainer(this.getInventorySize());
+ this.inventory = new SimpleContainer(this.getInventorySize(), (org.bukkit.craftbukkit.entity.CraftAbstractNautilus) getBukkitEntity()); // Paper add inv owner
if (simpleContainer != null) {
int min = Math.min(simpleContainer.getContainerSize(), this.inventory.getContainerSize());

Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package org.bukkit.craftbukkit.entity;

import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.animal.nautilus.AbstractNautilus;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.inventory.CraftSaddledInventory;
import org.bukkit.inventory.Inventory;
import org.jetbrains.annotations.NotNull;

public class CraftAbstractNautilus extends CraftTameableAnimal implements org.bukkit.entity.AbstractNautilus {
public CraftAbstractNautilus(final CraftServer server, final AbstractNautilus entity) {
Expand All @@ -12,4 +16,13 @@ public CraftAbstractNautilus(final CraftServer server, final AbstractNautilus en
public AbstractNautilus getHandle() {
return (AbstractNautilus) this.entity;
}

@Override
public @NotNull Inventory getInventory() {
return new CraftSaddledInventory(
getHandle().inventory,
this.getHandle().createEquipmentSlotContainer(EquipmentSlot.BODY),
this.getHandle().createEquipmentSlotContainer(EquipmentSlot.SADDLE)
);
}
}
Loading