Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 11:30:06 +01:00
4104545b11
"It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse."
98 Zeilen
4.8 KiB
Diff
98 Zeilen
4.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: LemonCaramel <admin@caramel.moe>
|
|
Date: Sun, 23 May 2021 17:49:51 +0900
|
|
Subject: [PATCH] More Lidded Block API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java
|
|
index dcae26b698d31a8b0107b0f9757efa34f53b030a..c0e7ae7ae38d55088e1b6ae6c80b849fd740cb1a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java
|
|
@@ -59,4 +59,11 @@ public class CraftBarrel extends CraftLootable<BarrelBlockEntity> implements Bar
|
|
}
|
|
getTileEntity().openersCounter.opened = false;
|
|
}
|
|
+
|
|
+ // Paper start - More Lidded Block API
|
|
+ @Override
|
|
+ public boolean isOpen() {
|
|
+ return getTileEntity().openersCounter.opened;
|
|
+ }
|
|
+ // Paper end - More Lidded Block API
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
|
|
index f48b830a9ae8160388cb0d0220a44b1ec9f0d214..5045507871db402305a43430194b4c5e965300ad 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
|
|
@@ -79,4 +79,11 @@ public class CraftChest extends CraftLootable<ChestBlockEntity> implements Chest
|
|
}
|
|
getTileEntity().openersCounter.opened = false;
|
|
}
|
|
+
|
|
+ // Paper start - More Lidded Block API
|
|
+ @Override
|
|
+ public boolean isOpen() {
|
|
+ return getTileEntity().openersCounter.opened;
|
|
+ }
|
|
+ // Paper end - More Lidded Block API
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java
|
|
index 25add8bee6ea35beeb205dd828759304346e4f48..599f6747dfa140e40fef26ed4d8244bfe87b7cdf 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java
|
|
@@ -14,4 +14,33 @@ public class CraftEnderChest extends CraftBlockEntityState<EnderChestBlockEntity
|
|
public CraftEnderChest(final Material material, final EnderChestBlockEntity te) {
|
|
super(material, te);
|
|
}
|
|
+
|
|
+ // Paper start - More Lidded Block API
|
|
+ @Override
|
|
+ public void open() {
|
|
+ requirePlaced();
|
|
+ if (!getTileEntity().openersCounter.opened) {
|
|
+ net.minecraft.world.level.Level world = getTileEntity().getLevel();
|
|
+ world.blockEvent(getTileEntity().getBlockPos(), getTileEntity().getBlockState().getBlock(), 1, getTileEntity().openersCounter.getOpenerCount() + 1);
|
|
+ world.playSound(null, getPosition(), net.minecraft.sounds.SoundEvents.ENDER_CHEST_OPEN, net.minecraft.sounds.SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
|
|
+ }
|
|
+ getTileEntity().openersCounter.opened = true;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void close() {
|
|
+ requirePlaced();
|
|
+ if (getTileEntity().openersCounter.opened) {
|
|
+ net.minecraft.world.level.Level world = getTileEntity().getLevel();
|
|
+ world.blockEvent(getTileEntity().getBlockPos(), getTileEntity().getBlockState().getBlock(), 1, 0);
|
|
+ world.playSound(null, getPosition(), net.minecraft.sounds.SoundEvents.ENDER_CHEST_CLOSE, net.minecraft.sounds.SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
|
|
+ }
|
|
+ getTileEntity().openersCounter.opened = false;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isOpen() {
|
|
+ return getTileEntity().openersCounter.opened;
|
|
+ }
|
|
+ // Paper end - More Lidded Block API
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java b/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java
|
|
index 60f2394547153b2d2553fb88470a00ff99ac2f2d..f3f95aaac02007b5f67ba64df1b5b9b7e82e3325 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java
|
|
@@ -61,8 +61,15 @@ public class CraftShulkerBox extends CraftLootable<ShulkerBoxBlockEntity> implem
|
|
if (getTileEntity().opened) {
|
|
Level world = getTileEntity().getLevel();
|
|
world.blockEvent(getPosition(), getTileEntity().getBlockState().getBlock(), 1, 0);
|
|
- world.playSound(null, getPosition(), SoundEvents.SHULKER_BOX_OPEN, SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
|
|
+ world.playSound(null, getPosition(), SoundEvents.SHULKER_BOX_CLOSE, SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); // Paper - More Lidded Block API (Wrong sound)
|
|
}
|
|
getTileEntity().opened = false;
|
|
}
|
|
+
|
|
+ // Paper start - More Lidded Block API
|
|
+ @Override
|
|
+ public boolean isOpen() {
|
|
+ return getTileEntity().opened;
|
|
+ }
|
|
+ // Paper end - More Lidded Block API
|
|
}
|