From 0f34cbb1aefb01dde4330166d3d8f8152337a7a2 Mon Sep 17 00:00:00 2001 From: Woder <17339354+wode490390@users.noreply.github.com> Date: Sun, 20 Oct 2024 11:02:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E6=96=B0=E5=86=85=E5=AE=B9=E5=81=9A?= =?UTF-8?q?=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cn/nukkit/Player.java | 11 +++++-- src/main/java/cn/nukkit/block/Block.java | 6 +++- .../java/cn/nukkit/block/BlockNoteblock.java | 8 +++-- src/main/java/cn/nukkit/block/BlockWool.java | 5 ++++ .../java/cn/nukkit/command/CommandParser.java | 4 +-- src/main/java/cn/nukkit/item/ItemArmor.java | 2 +- .../cn/nukkit/item/ItemBannerPattern.java | 2 +- src/main/java/cn/nukkit/item/ItemBed.java | 2 +- .../java/cn/nukkit/item/ItemBeetrootSoup.java | 2 +- src/main/java/cn/nukkit/item/ItemBoat.java | 2 +- .../java/cn/nukkit/item/ItemBookAndQuill.java | 2 +- .../cn/nukkit/item/ItemBookEnchanted.java | 2 +- .../cn/nukkit/item/ItemCompassLodestone.java | 2 +- .../java/cn/nukkit/item/ItemGoatHorn.java | 2 +- .../cn/nukkit/item/ItemHorseArmorDiamond.java | 2 +- .../cn/nukkit/item/ItemHorseArmorGold.java | 2 +- .../cn/nukkit/item/ItemHorseArmorIron.java | 2 +- .../cn/nukkit/item/ItemHorseArmorLeather.java | 2 +- src/main/java/cn/nukkit/item/ItemMace.java | 2 +- src/main/java/cn/nukkit/item/ItemMap.java | 2 +- .../java/cn/nukkit/item/ItemMinecart.java | 2 +- .../cn/nukkit/item/ItemMinecartChest.java | 2 +- .../nukkit/item/ItemMinecartCommandBlock.java | 2 +- .../cn/nukkit/item/ItemMinecartHopper.java | 2 +- .../java/cn/nukkit/item/ItemMinecartTNT.java | 2 +- .../java/cn/nukkit/item/ItemMushroomStew.java | 2 +- src/main/java/cn/nukkit/item/ItemPotion.java | 2 +- .../cn/nukkit/item/ItemPotionLingering.java | 2 +- .../java/cn/nukkit/item/ItemPotionSplash.java | 2 +- .../java/cn/nukkit/item/ItemRabbitStew.java | 2 +- src/main/java/cn/nukkit/item/ItemRecord.java | 2 +- src/main/java/cn/nukkit/item/ItemSaddle.java | 2 +- .../java/cn/nukkit/item/ItemSpyglass.java | 2 +- .../cn/nukkit/item/ItemSuspiciousStew.java | 2 +- src/main/java/cn/nukkit/item/ItemTool.java | 2 +- src/main/java/cn/nukkit/item/ItemTotem.java | 2 +- .../java/cn/nukkit/item/ItemWolfArmor.java | 2 +- src/main/java/cn/nukkit/item/food/Food.java | 10 +++---- src/main/java/cn/nukkit/level/Fogs.java | 1 + .../java/cn/nukkit/level/ParticleEffect.java | 4 +++ .../java/cn/nukkit/level/sound/SoundEnum.java | 29 +++++++++++++++++++ .../network/protocol/LevelEventPacket.java | 2 ++ .../protocol/LevelSoundEventPacket.java | 10 ++++++- 43 files changed, 107 insertions(+), 47 deletions(-) diff --git a/src/main/java/cn/nukkit/Player.java b/src/main/java/cn/nukkit/Player.java index 81791ece861..71a2814b16f 100644 --- a/src/main/java/cn/nukkit/Player.java +++ b/src/main/java/cn/nukkit/Player.java @@ -2330,12 +2330,12 @@ protected void processLogin() { for (Player p : new ObjectArrayList<>(this.server.getOnlinePlayers().values())) { if (p != this && p.getName() != null && p.getName().equalsIgnoreCase(this.getName())) { if (!p.kick(PlayerKickEvent.Reason.NEW_CONNECTION, "logged in from another location")) { - this.close(this.getLeaveMessage(), "Already connected"); + this.close(this.getLeaveMessage(), "disconnectionScreen.loggedinOtherLocation"); return; } } else if (p.loggedIn && this.getUniqueId().equals(p.getUniqueId())) { if (!p.kick(PlayerKickEvent.Reason.NEW_CONNECTION, "logged in from another location")) { - this.close(this.getLeaveMessage(), "Already connected"); + this.close(this.getLeaveMessage(), "disconnectionScreen.loggedinOtherLocation"); return; } } @@ -3034,7 +3034,12 @@ public void onCompletion(Server server) { if (this.isBreakingBlock()) { block = this.level.getBlock(pos, false); face = BlockFace.fromIndex(playerActionPacket.data); - this.level.addParticle(new PunchBlockParticle(pos, block, face)); + Vector3 blockCenter = pos.blockCenter(); + this.level.addParticle(new PunchBlockParticle(blockCenter, block, face)); + level.addLevelEvent(blockCenter, LevelEventPacket.EVENT_PARTICLE_PUNCH_BLOCK_DOWN + face.getIndex(), block.getFullId()); + + int breakTime = Mth.ceil(block.getBreakTime(inventory.getItemInHand(), this) * 20); + level.addLevelEvent(pos, LevelEventPacket.EVENT_BLOCK_UPDATE_BREAK, breakTime <= 0 ? 0 : 65535 / breakTime); } break; } diff --git a/src/main/java/cn/nukkit/block/Block.java b/src/main/java/cn/nukkit/block/Block.java index b8ec1eb05d9..5a1e17ef3bb 100644 --- a/src/main/java/cn/nukkit/block/Block.java +++ b/src/main/java/cn/nukkit/block/Block.java @@ -712,7 +712,7 @@ private float getDestroySpeed(Item item, boolean correctTool) { if (is(WEB) || isLeaves()) { return 15; } - if (is(WOOL)) { + if (isWool()) { return 5; } if (is(VINE) || is(GLOW_LICHEN)) { @@ -1414,6 +1414,10 @@ public boolean isCauldron() { return false; } + public boolean isWool() { + return false; + } + public boolean isWaxed() { return false; } diff --git a/src/main/java/cn/nukkit/block/BlockNoteblock.java b/src/main/java/cn/nukkit/block/BlockNoteblock.java index bfa9ccefb17..fb22e6baa53 100644 --- a/src/main/java/cn/nukkit/block/BlockNoteblock.java +++ b/src/main/java/cn/nukkit/block/BlockNoteblock.java @@ -79,15 +79,17 @@ public void increaseStrength() { } public Instrument getInstrument() { - switch (this.down().getId()) { + Block below = this.down(); + if (below.isWool()) { + return Instrument.GUITAR; + } + switch (below.getId()) { case GOLD_BLOCK: return Instrument.GLOCKENSPIEL; case CLAY: return Instrument.FLUTE; case PACKED_ICE: return Instrument.CHIME; - case WOOL: - return Instrument.GUITAR; case BONE_BLOCK: return Instrument.XYLOPHONE; case IRON_BLOCK: diff --git a/src/main/java/cn/nukkit/block/BlockWool.java b/src/main/java/cn/nukkit/block/BlockWool.java index a4005cb93d7..48a096ee774 100644 --- a/src/main/java/cn/nukkit/block/BlockWool.java +++ b/src/main/java/cn/nukkit/block/BlockWool.java @@ -64,4 +64,9 @@ public BlockColor getColor() { public DyeColor getDyeColor() { return DyeColor.getByWoolData(getDamage()); } + + @Override + public boolean isWool() { + return true; + } } diff --git a/src/main/java/cn/nukkit/command/CommandParser.java b/src/main/java/cn/nukkit/command/CommandParser.java index 56bfc4e0ac6..4d9de6301c2 100644 --- a/src/main/java/cn/nukkit/command/CommandParser.java +++ b/src/main/java/cn/nukkit/command/CommandParser.java @@ -874,7 +874,7 @@ public Vector2 senderAsVector2() { public Block parseBlock() throws CommandSyntaxException { String arg = this.next(); try { - Block block = Block.fromStringNullable(arg, true); + Block block = Block.fromStringNullable(arg.toLowerCase(), true); if (block == null) { throw CommandExceptions.COMMAND_SYNTAX_EXCEPTION; } @@ -901,7 +901,7 @@ public Block parseBlockOrDefault(Supplier defaultValue) throws CommandSyn public Item parseItem() throws CommandSyntaxException { String arg = this.next(); try { - Item item = Item.fromStringNullable(arg, true); + Item item = Item.fromStringNullable(arg.toLowerCase(), true); if (item == null) { throw CommandExceptions.COMMAND_SYNTAX_EXCEPTION; } diff --git a/src/main/java/cn/nukkit/item/ItemArmor.java b/src/main/java/cn/nukkit/item/ItemArmor.java index eabb2de961b..3eb757da779 100644 --- a/src/main/java/cn/nukkit/item/ItemArmor.java +++ b/src/main/java/cn/nukkit/item/ItemArmor.java @@ -34,7 +34,7 @@ protected ItemArmor(int id, Integer meta, int count) { } protected ItemArmor(int id, Integer meta, int count, String name) { - super(id, meta, 1, name); + super(id, meta, count, name); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemBannerPattern.java b/src/main/java/cn/nukkit/item/ItemBannerPattern.java index 2d85a77becd..bf03c15c824 100644 --- a/src/main/java/cn/nukkit/item/ItemBannerPattern.java +++ b/src/main/java/cn/nukkit/item/ItemBannerPattern.java @@ -35,7 +35,7 @@ public ItemBannerPattern(Integer meta) { } public ItemBannerPattern(Integer meta, int count) { - super(BANNER_PATTERN, meta, 1, getName(meta != null ? meta : 0)); + super(BANNER_PATTERN, meta, count, getName(meta != null ? meta : 0)); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemBed.java b/src/main/java/cn/nukkit/item/ItemBed.java index 9150231994f..f1ca0a62ae4 100644 --- a/src/main/java/cn/nukkit/item/ItemBed.java +++ b/src/main/java/cn/nukkit/item/ItemBed.java @@ -19,7 +19,7 @@ public ItemBed(Integer meta) { } public ItemBed(Integer meta, int count) { - super(BED, meta, 1, DyeColor.getByWoolData(meta != null ? meta : 0).getName() + " Bed"); + super(BED, meta, count, DyeColor.getByWoolData(meta != null ? meta : 0).getName() + " Bed"); this.block = Block.get(BlockID.BLOCK_BED); } diff --git a/src/main/java/cn/nukkit/item/ItemBeetrootSoup.java b/src/main/java/cn/nukkit/item/ItemBeetrootSoup.java index c21b87de030..a835e8f22db 100644 --- a/src/main/java/cn/nukkit/item/ItemBeetrootSoup.java +++ b/src/main/java/cn/nukkit/item/ItemBeetrootSoup.java @@ -15,7 +15,7 @@ public ItemBeetrootSoup(Integer meta) { } public ItemBeetrootSoup(Integer meta, int count) { - super(BEETROOT_SOUP, 0, 1, "Beetroot Soup"); + super(BEETROOT_SOUP, 0, count, "Beetroot Soup"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemBoat.java b/src/main/java/cn/nukkit/item/ItemBoat.java index fd0033134cd..4219ffbf0f6 100644 --- a/src/main/java/cn/nukkit/item/ItemBoat.java +++ b/src/main/java/cn/nukkit/item/ItemBoat.java @@ -33,7 +33,7 @@ public ItemBoat(Integer meta) { } public ItemBoat(Integer meta, int count) { - super(BOAT, meta, 1, "Boat"); + super(BOAT, meta, count, "Boat"); } protected ItemBoat(int id, Integer meta, int count, String name) { diff --git a/src/main/java/cn/nukkit/item/ItemBookAndQuill.java b/src/main/java/cn/nukkit/item/ItemBookAndQuill.java index 24b66811939..70097e72d23 100644 --- a/src/main/java/cn/nukkit/item/ItemBookAndQuill.java +++ b/src/main/java/cn/nukkit/item/ItemBookAndQuill.java @@ -11,7 +11,7 @@ public ItemBookAndQuill(Integer meta) { } public ItemBookAndQuill(Integer meta, int count) { - super(Item.WRITABLE_BOOK, meta, 1, "Book and Quill"); + super(Item.WRITABLE_BOOK, meta, count, "Book and Quill"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemBookEnchanted.java b/src/main/java/cn/nukkit/item/ItemBookEnchanted.java index e638161d207..726c95b56b1 100644 --- a/src/main/java/cn/nukkit/item/ItemBookEnchanted.java +++ b/src/main/java/cn/nukkit/item/ItemBookEnchanted.java @@ -15,7 +15,7 @@ public ItemBookEnchanted(Integer meta) { } public ItemBookEnchanted(Integer meta, int count) { - super(ENCHANTED_BOOK, meta, 1, "Enchanted Book"); + super(ENCHANTED_BOOK, meta, count, "Enchanted Book"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemCompassLodestone.java b/src/main/java/cn/nukkit/item/ItemCompassLodestone.java index 9d2525e04ab..a2096489bf0 100644 --- a/src/main/java/cn/nukkit/item/ItemCompassLodestone.java +++ b/src/main/java/cn/nukkit/item/ItemCompassLodestone.java @@ -11,7 +11,7 @@ public ItemCompassLodestone(Integer meta) { } public ItemCompassLodestone(Integer meta, int count) { - super(LODESTONE_COMPASS, meta, 1, "Lodestone Compass"); + super(LODESTONE_COMPASS, meta, count, "Lodestone Compass"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemGoatHorn.java b/src/main/java/cn/nukkit/item/ItemGoatHorn.java index 6d586b3ee88..655ac53cebe 100644 --- a/src/main/java/cn/nukkit/item/ItemGoatHorn.java +++ b/src/main/java/cn/nukkit/item/ItemGoatHorn.java @@ -26,7 +26,7 @@ public ItemGoatHorn(Integer meta) { } public ItemGoatHorn(Integer meta, int count) { - super(GOAT_HORN, meta, 1, "Goat Horn"); + super(GOAT_HORN, meta, count, "Goat Horn"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemHorseArmorDiamond.java b/src/main/java/cn/nukkit/item/ItemHorseArmorDiamond.java index e9d96dfdb32..c21f4020a76 100644 --- a/src/main/java/cn/nukkit/item/ItemHorseArmorDiamond.java +++ b/src/main/java/cn/nukkit/item/ItemHorseArmorDiamond.java @@ -10,7 +10,7 @@ public ItemHorseArmorDiamond(Integer meta) { } public ItemHorseArmorDiamond(Integer meta, int count) { - super(DIAMOND_HORSE_ARMOR, meta, 1, "Diamond Horse Armor"); + super(DIAMOND_HORSE_ARMOR, meta, count, "Diamond Horse Armor"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemHorseArmorGold.java b/src/main/java/cn/nukkit/item/ItemHorseArmorGold.java index 3f421d0841b..2e23137be9d 100644 --- a/src/main/java/cn/nukkit/item/ItemHorseArmorGold.java +++ b/src/main/java/cn/nukkit/item/ItemHorseArmorGold.java @@ -10,7 +10,7 @@ public ItemHorseArmorGold(Integer meta) { } public ItemHorseArmorGold(Integer meta, int count) { - super(GOLDEN_HORSE_ARMOR, meta, 1, "Gold Horse Armor"); + super(GOLDEN_HORSE_ARMOR, meta, count, "Gold Horse Armor"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemHorseArmorIron.java b/src/main/java/cn/nukkit/item/ItemHorseArmorIron.java index 09b34724980..e4968248407 100644 --- a/src/main/java/cn/nukkit/item/ItemHorseArmorIron.java +++ b/src/main/java/cn/nukkit/item/ItemHorseArmorIron.java @@ -10,7 +10,7 @@ public ItemHorseArmorIron(Integer meta) { } public ItemHorseArmorIron(Integer meta, int count) { - super(IRON_HORSE_ARMOR, meta, 1, "Iron Horse Armor"); + super(IRON_HORSE_ARMOR, meta, count, "Iron Horse Armor"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemHorseArmorLeather.java b/src/main/java/cn/nukkit/item/ItemHorseArmorLeather.java index ff32d1a0e1f..261dd6320b1 100644 --- a/src/main/java/cn/nukkit/item/ItemHorseArmorLeather.java +++ b/src/main/java/cn/nukkit/item/ItemHorseArmorLeather.java @@ -17,7 +17,7 @@ public ItemHorseArmorLeather(Integer meta) { } public ItemHorseArmorLeather(Integer meta, int count) { - super(LEATHER_HORSE_ARMOR, meta, 1, "Leather Horse Armor"); + super(LEATHER_HORSE_ARMOR, meta, count, "Leather Horse Armor"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMace.java b/src/main/java/cn/nukkit/item/ItemMace.java index 69d15f05f57..cb9275d3cea 100644 --- a/src/main/java/cn/nukkit/item/ItemMace.java +++ b/src/main/java/cn/nukkit/item/ItemMace.java @@ -12,7 +12,7 @@ public ItemMace(Integer meta) { } public ItemMace(Integer meta, int count) { - super(MACE, meta, 1, "Mace"); + super(MACE, meta, count, "Mace"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMap.java b/src/main/java/cn/nukkit/item/ItemMap.java index 53c7f5d46e2..6dfd0c85ddc 100644 --- a/src/main/java/cn/nukkit/item/ItemMap.java +++ b/src/main/java/cn/nukkit/item/ItemMap.java @@ -48,7 +48,7 @@ public ItemMap(Integer meta) { } public ItemMap(Integer meta, int count) { - super(FILLED_MAP, meta, 1, "Map"); + super(FILLED_MAP, meta, count, "Map"); if (!hasCompoundTag() || !getNamedTag().contains("map_uuid")) { CompoundTag tag = new CompoundTag(); diff --git a/src/main/java/cn/nukkit/item/ItemMinecart.java b/src/main/java/cn/nukkit/item/ItemMinecart.java index edefaa25bf2..22a00710d5c 100644 --- a/src/main/java/cn/nukkit/item/ItemMinecart.java +++ b/src/main/java/cn/nukkit/item/ItemMinecart.java @@ -24,7 +24,7 @@ public ItemMinecart(Integer meta) { } public ItemMinecart(Integer meta, int count) { - super(MINECART, meta, 1, "Minecart"); + super(MINECART, meta, count, "Minecart"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMinecartChest.java b/src/main/java/cn/nukkit/item/ItemMinecartChest.java index 71bc696a229..d20073e9a7a 100644 --- a/src/main/java/cn/nukkit/item/ItemMinecartChest.java +++ b/src/main/java/cn/nukkit/item/ItemMinecartChest.java @@ -20,7 +20,7 @@ public ItemMinecartChest(Integer meta) { } public ItemMinecartChest(Integer meta, int count) { - super(CHEST_MINECART, meta, 1, "Minecart with Chest"); + super(CHEST_MINECART, meta, count, "Minecart with Chest"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMinecartCommandBlock.java b/src/main/java/cn/nukkit/item/ItemMinecartCommandBlock.java index 0f81b873171..15ff1b6111f 100644 --- a/src/main/java/cn/nukkit/item/ItemMinecartCommandBlock.java +++ b/src/main/java/cn/nukkit/item/ItemMinecartCommandBlock.java @@ -16,7 +16,7 @@ public ItemMinecartCommandBlock(Integer meta) { } public ItemMinecartCommandBlock(Integer meta, int count) { - super(COMMAND_BLOCK_MINECART, meta, 1, "Minecart with Command Block"); + super(COMMAND_BLOCK_MINECART, meta, count, "Minecart with Command Block"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMinecartHopper.java b/src/main/java/cn/nukkit/item/ItemMinecartHopper.java index de026a24d5c..7b78d5d8929 100644 --- a/src/main/java/cn/nukkit/item/ItemMinecartHopper.java +++ b/src/main/java/cn/nukkit/item/ItemMinecartHopper.java @@ -20,7 +20,7 @@ public ItemMinecartHopper(Integer meta) { } public ItemMinecartHopper(Integer meta, int count) { - super(HOPPER_MINECART, meta, 1, "Minecart with Hopper"); + super(HOPPER_MINECART, meta, count, "Minecart with Hopper"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMinecartTNT.java b/src/main/java/cn/nukkit/item/ItemMinecartTNT.java index 682671309a9..ebe2472d745 100644 --- a/src/main/java/cn/nukkit/item/ItemMinecartTNT.java +++ b/src/main/java/cn/nukkit/item/ItemMinecartTNT.java @@ -23,7 +23,7 @@ public ItemMinecartTNT(Integer meta) { } public ItemMinecartTNT(Integer meta, int count) { - super(TNT_MINECART, meta, 1, "Minecart with TNT"); + super(TNT_MINECART, meta, count, "Minecart with TNT"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemMushroomStew.java b/src/main/java/cn/nukkit/item/ItemMushroomStew.java index 17f85749a96..3669faeb47d 100644 --- a/src/main/java/cn/nukkit/item/ItemMushroomStew.java +++ b/src/main/java/cn/nukkit/item/ItemMushroomStew.java @@ -15,7 +15,7 @@ public ItemMushroomStew(Integer meta) { } public ItemMushroomStew(Integer meta, int count) { - super(MUSHROOM_STEW, meta, 1, "Mushroom Stew"); + super(MUSHROOM_STEW, meta, count, "Mushroom Stew"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemPotion.java b/src/main/java/cn/nukkit/item/ItemPotion.java index 8568748b122..c54f7c323f6 100644 --- a/src/main/java/cn/nukkit/item/ItemPotion.java +++ b/src/main/java/cn/nukkit/item/ItemPotion.java @@ -16,7 +16,7 @@ public ItemPotion(Integer meta) { } public ItemPotion(Integer meta, int count) { - super(POTION, meta, 1, "Potion"); + super(POTION, meta, count, "Potion"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemPotionLingering.java b/src/main/java/cn/nukkit/item/ItemPotionLingering.java index 7b7ddf7344a..5d27c6bd713 100644 --- a/src/main/java/cn/nukkit/item/ItemPotionLingering.java +++ b/src/main/java/cn/nukkit/item/ItemPotionLingering.java @@ -16,7 +16,7 @@ public ItemPotionLingering(Integer meta) { } public ItemPotionLingering(Integer meta, int count) { - super(LINGERING_POTION, meta, 1, "Lingering Potion"); + super(LINGERING_POTION, meta, count, "Lingering Potion"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemPotionSplash.java b/src/main/java/cn/nukkit/item/ItemPotionSplash.java index 6790ba28371..ce159ec930d 100644 --- a/src/main/java/cn/nukkit/item/ItemPotionSplash.java +++ b/src/main/java/cn/nukkit/item/ItemPotionSplash.java @@ -20,7 +20,7 @@ public ItemPotionSplash(Integer meta) { } public ItemPotionSplash(Integer meta, int count) { - super(SPLASH_POTION, meta, 1, "Splash Potion"); + super(SPLASH_POTION, meta, count, "Splash Potion"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemRabbitStew.java b/src/main/java/cn/nukkit/item/ItemRabbitStew.java index 3aa5216bae7..7ae2852e163 100644 --- a/src/main/java/cn/nukkit/item/ItemRabbitStew.java +++ b/src/main/java/cn/nukkit/item/ItemRabbitStew.java @@ -15,7 +15,7 @@ public ItemRabbitStew(Integer meta) { } public ItemRabbitStew(Integer meta, int count) { - super(RABBIT_STEW, meta, 1, "Rabbit Stew"); + super(RABBIT_STEW, meta, count, "Rabbit Stew"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemRecord.java b/src/main/java/cn/nukkit/item/ItemRecord.java index f745f618a11..021fb85d642 100644 --- a/src/main/java/cn/nukkit/item/ItemRecord.java +++ b/src/main/java/cn/nukkit/item/ItemRecord.java @@ -6,7 +6,7 @@ public abstract class ItemRecord extends Item { protected ItemRecord(int id, Integer meta, int count) { - super(id, meta, 1, "Music Disc"); + super(id, meta, count, "Music Disc"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemSaddle.java b/src/main/java/cn/nukkit/item/ItemSaddle.java index cdead40a726..7251554acb4 100644 --- a/src/main/java/cn/nukkit/item/ItemSaddle.java +++ b/src/main/java/cn/nukkit/item/ItemSaddle.java @@ -10,7 +10,7 @@ public ItemSaddle(Integer meta) { } public ItemSaddle(Integer meta, int count) { - super(SADDLE, meta, 1, "Saddle"); + super(SADDLE, meta, count, "Saddle"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemSpyglass.java b/src/main/java/cn/nukkit/item/ItemSpyglass.java index 614b9e03d7d..085905cd63b 100644 --- a/src/main/java/cn/nukkit/item/ItemSpyglass.java +++ b/src/main/java/cn/nukkit/item/ItemSpyglass.java @@ -17,7 +17,7 @@ public ItemSpyglass(Integer meta) { } public ItemSpyglass(Integer meta, int count) { - super(SPYGLASS, meta, 1, "Spyglass"); + super(SPYGLASS, meta, count, "Spyglass"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemSuspiciousStew.java b/src/main/java/cn/nukkit/item/ItemSuspiciousStew.java index e3f63e47751..c2b5d815a85 100644 --- a/src/main/java/cn/nukkit/item/ItemSuspiciousStew.java +++ b/src/main/java/cn/nukkit/item/ItemSuspiciousStew.java @@ -25,7 +25,7 @@ public ItemSuspiciousStew(Integer meta) { } public ItemSuspiciousStew(Integer meta, int count) { - super(SUSPICIOUS_STEW, meta, 1, "Suspicious Stew"); + super(SUSPICIOUS_STEW, meta, count, "Suspicious Stew"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemTool.java b/src/main/java/cn/nukkit/item/ItemTool.java index 7b1ecc26348..f789fefa24c 100644 --- a/src/main/java/cn/nukkit/item/ItemTool.java +++ b/src/main/java/cn/nukkit/item/ItemTool.java @@ -51,7 +51,7 @@ protected ItemTool(int id, Integer meta, int count) { } protected ItemTool(int id, Integer meta, int count, String name) { - super(id, meta, 1, name); + super(id, meta, count, name); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemTotem.java b/src/main/java/cn/nukkit/item/ItemTotem.java index 77298639411..b66d82b92e5 100644 --- a/src/main/java/cn/nukkit/item/ItemTotem.java +++ b/src/main/java/cn/nukkit/item/ItemTotem.java @@ -7,7 +7,7 @@ public ItemTotem(Integer meta) { } public ItemTotem(Integer meta, int count) { - super(TOTEM_OF_UNDYING, meta, 1, "Totem of Undying"); + super(TOTEM_OF_UNDYING, meta, count, "Totem of Undying"); } @Override diff --git a/src/main/java/cn/nukkit/item/ItemWolfArmor.java b/src/main/java/cn/nukkit/item/ItemWolfArmor.java index 3c4fd587058..a1293fd2d84 100644 --- a/src/main/java/cn/nukkit/item/ItemWolfArmor.java +++ b/src/main/java/cn/nukkit/item/ItemWolfArmor.java @@ -17,7 +17,7 @@ public ItemWolfArmor(Integer meta) { } public ItemWolfArmor(Integer meta, int count) { - super(WOLF_ARMOR, meta, 1, "Wolf Armor"); + super(WOLF_ARMOR, meta, count, "Wolf Armor"); } @Override diff --git a/src/main/java/cn/nukkit/item/food/Food.java b/src/main/java/cn/nukkit/item/food/Food.java index 44bab6878f3..02c79d90c8d 100644 --- a/src/main/java/cn/nukkit/item/food/Food.java +++ b/src/main/java/cn/nukkit/item/food/Food.java @@ -146,19 +146,19 @@ protected boolean onEatenBy(Player player) { public static final Food glow_berries = registerDefaultFood(new FoodNormal(2, 0.3f).addRelative(Item.GLOW_BERRIES), V1_17_0); public static final Food ominous_bottle_1 = registerDefaultFood(new FoodEffective(0, 0) .addEffect(Effect.getEffect(Effect.BAD_OMEN).setDuration(100 * 60 * 20)) - .addRelative(Item.OMINOUS_BOTTLE, 0)); + .addRelative(Item.OMINOUS_BOTTLE, 0), V1_21_0); public static final Food ominous_bottle_2 = registerDefaultFood(new FoodEffective(0, 0) .addEffect(Effect.getEffect(Effect.BAD_OMEN).setDuration(100 * 60 * 20).setAmplifier(1)) - .addRelative(Item.OMINOUS_BOTTLE, 1)); + .addRelative(Item.OMINOUS_BOTTLE, 1), V1_21_0); public static final Food ominous_bottle_3 = registerDefaultFood(new FoodEffective(0, 0) .addEffect(Effect.getEffect(Effect.BAD_OMEN).setDuration(100 * 60 * 20).setAmplifier(2)) - .addRelative(Item.OMINOUS_BOTTLE, 2)); + .addRelative(Item.OMINOUS_BOTTLE, 2), V1_21_0); public static final Food ominous_bottle_4 = registerDefaultFood(new FoodEffective(0, 0) .addEffect(Effect.getEffect(Effect.BAD_OMEN).setDuration(100 * 60 * 20).setAmplifier(3)) - .addRelative(Item.OMINOUS_BOTTLE, 3)); + .addRelative(Item.OMINOUS_BOTTLE, 3), V1_21_0); public static final Food ominous_bottle_5 = registerDefaultFood(new FoodEffective(0, 0) .addEffect(Effect.getEffect(Effect.BAD_OMEN).setDuration(100 * 60 * 20).setAmplifier(4)) - .addRelative(Item.OMINOUS_BOTTLE, 4)); + .addRelative(Item.OMINOUS_BOTTLE, 4), V1_21_0); //Opened API for plugins public static Food registerFood(Food food, Plugin plugin) { diff --git a/src/main/java/cn/nukkit/level/Fogs.java b/src/main/java/cn/nukkit/level/Fogs.java index 61294ef5bcc..de7f9f6bce5 100644 --- a/src/main/java/cn/nukkit/level/Fogs.java +++ b/src/main/java/cn/nukkit/level/Fogs.java @@ -56,6 +56,7 @@ public interface Fogs { String MUSHROOM_ISLAND = "minecraft:fog_mushroom_island"; String MUSHROOM_ISLAND_SHORE = "minecraft:fog_mushroom_island_shore"; String OCEAN = "minecraft:fog_ocean"; + String PALE_GARDEN = "minecraft:fog_pale_garden"; String PLAINS = "minecraft:fog_plains"; String POWDER_SNOW = "minecraft:fog_powder_snow"; String RIVER = "minecraft:fog_river"; diff --git a/src/main/java/cn/nukkit/level/ParticleEffect.java b/src/main/java/cn/nukkit/level/ParticleEffect.java index 67541981f12..3b2b5ab5501 100644 --- a/src/main/java/cn/nukkit/level/ParticleEffect.java +++ b/src/main/java/cn/nukkit/level/ParticleEffect.java @@ -32,6 +32,9 @@ public enum ParticleEffect { CONDUIT("minecraft:conduit_particle"), CONDUIT_ABSORB("minecraft:conduit_absorb_particle"), CONDUIT_ATTACK("minecraft:conduit_attack_emitter"), + CREAKING_HEART_TRAIL("minecraft:creaking_heart_trail"), + CREAKING_TEARDOWN_BODY("minecraft:creaking_teardown_body"), + CREAKING_TEARDOWN_HEAD("minecraft:creaking_teardown_head"), CRITICAL_HIT("minecraft:critical_hit_emitter"), CROP_GROWTH("minecraft:crop_growth_emitter"), CROP_GROWTH_AREA("minecraft:crop_growth_area_emitter"), @@ -94,6 +97,7 @@ public enum ParticleEffect { MOBFLAME_SINGLE("minecraft:mobflame_single"), MOBSPELL("minecraft:mobspell_emitter"), MOBSPELL_AMBIENT("minecraft:mobspell_ambient"), + MOBSPELL_LINGERING("minecraft:mobspell_lingering"), MOB_BLOCK_SPAWN("minecraft:mob_block_spawn_emitter"), MOB_PORTAL("minecraft:mob_portal"), MYCELIUM_DUST("minecraft:mycelium_dust_particle"), diff --git a/src/main/java/cn/nukkit/level/sound/SoundEnum.java b/src/main/java/cn/nukkit/level/sound/SoundEnum.java index 24af83808a1..3749ac0822a 100644 --- a/src/main/java/cn/nukkit/level/sound/SoundEnum.java +++ b/src/main/java/cn/nukkit/level/sound/SoundEnum.java @@ -76,6 +76,14 @@ public enum SoundEnum { BLOCK_COMPOSTER_READY("block.composter.ready"), BLOCK_COPPER_BULB_TURN_OFF("block.copper_bulb.turn_off"), BLOCK_COPPER_BULB_TURN_ON("block.copper_bulb.turn_on"), + BLOCK_CREAKING_HEART_AMBIENT("block.creaking_heart.ambient"), + BLOCK_CREAKING_HEART_BREAK("block.creaking_heart.break"), + BLOCK_CREAKING_HEART_FALL("block.creaking_heart.fall"), + BLOCK_CREAKING_HEART_HIT("block.creaking_heart.hit"), + BLOCK_CREAKING_HEART_PLACE("block.creaking_heart.place"), + BLOCK_CREAKING_HEART_SPAWN_MOB("block.creaking_heart.spawn_mob"), + BLOCK_CREAKING_HEART_STEP("block.creaking_heart.step"), + BLOCK_CREAKING_HEART_TRAIL("block.creaking_heart.trail"), BLOCK_DECORATED_POT_INSERT("block.decorated_pot.insert"), BLOCK_DECORATED_POT_INSERT_FAIL("block.decorated_pot.insert_fail"), BLOCK_ENCHANTING_TABLE_USE("block.enchanting_table.use"), @@ -122,6 +130,7 @@ public enum SoundEnum { BLOCK_PACKED_MUD_HIT("block.packed_mud.hit"), BLOCK_PACKED_MUD_PLACE("block.packed_mud.place"), BLOCK_PACKED_MUD_STEP("block.packed_mud.step"), + BLOCK_PALE_HANGING_MOSS_AMBIENT("block.pale_hanging_moss.ambient"), BLOCK_SCAFFOLDING_BREAK("block.scaffolding.break"), BLOCK_SCAFFOLDING_CLIMB("block.scaffolding.climb"), BLOCK_SCAFFOLDING_FALL("block.scaffolding.fall"), @@ -177,11 +186,13 @@ public enum SoundEnum { BREAK_SCULK_SHRIEKER("break.sculk_shrieker"), BREAK_SCULK_VEIN("break.sculk_vein"), BREAK_SMALL_AMETHYST_BUD("break.small_amethyst_bud"), + BREAK_SPONGE("break.sponge"), BREAK_SPORE_BLOSSOM("break.spore_blossom"), BREAK_SUSPICIOUS_GRAVEL("break.suspicious_gravel"), BREAK_SUSPICIOUS_SAND("break.suspicious_sand"), BREAK_TUFF("break.tuff"), BREAK_WEB("break.web"), + BREAK_WET_SPONGE("break.wet_sponge"), BREEZE_WIND_CHARGE_BURST("breeze_wind_charge.burst"), BRUSH_GENERIC("brush.generic"), BRUSH_SUSPICIOUS_GRAVEL("brush.suspicious_gravel"), @@ -440,6 +451,7 @@ public enum SoundEnum { HIT_SNOW("hit.snow"), HIT_SOUL_SAND("hit.soul_sand"), HIT_SOUL_SOIL("hit.soul_soil"), + HIT_SPONGE("hit.sponge"), HIT_SPORE_BLOSSOM("hit.spore_blossom"), HIT_STEM("hit.stem"), HIT_STONE("hit.stone"), @@ -447,6 +459,7 @@ public enum SoundEnum { HIT_SUSPICIOUS_SAND("hit.suspicious_sand"), HIT_TUFF("hit.tuff"), HIT_VINES("hit.vines"), + HIT_WET_SPONGE("hit.wet_sponge"), HIT_WOOD("hit.wood"), HORN_CALL_0("horn.call.0"), HORN_CALL_1("horn.call.1"), @@ -651,6 +664,16 @@ public enum SoundEnum { MOB_COW_MILK("mob.cow.milk"), MOB_COW_SAY("mob.cow.say"), MOB_COW_STEP("mob.cow.step"), + MOB_CREAKING_ACTIVATE("mob.creaking.activate"), + MOB_CREAKING_AMBIENT("mob.creaking.ambient"), + MOB_CREAKING_ATTACK("mob.creaking.attack"), + MOB_CREAKING_DEACTIVATE("mob.creaking.deactivate"), + MOB_CREAKING_DEATH("mob.creaking.death"), + MOB_CREAKING_FREEZE("mob.creaking.freeze"), + MOB_CREAKING_SPAWN("mob.creaking.spawn"), + MOB_CREAKING_STEP("mob.creaking.step"), + MOB_CREAKING_SWAY("mob.creaking.sway"), + MOB_CREAKING_UNFREEZE("mob.creaking.unfreeze"), MOB_CREEPER_DEATH("mob.creeper.death"), MOB_CREEPER_SAY("mob.creeper.say"), MOB_DOLPHIN_ATTACK("mob.dolphin.attack"), @@ -829,6 +852,7 @@ public enum SoundEnum { MOB_PARROT_FLY("mob.parrot.fly"), MOB_PARROT_HURT("mob.parrot.hurt"), MOB_PARROT_IDLE("mob.parrot.idle"), + MOB_PARROT_IMITATE_CREAKING("mob.parrot.imitate_creaking"), MOB_PARROT_STEP("mob.parrot.step"), MOB_PHANTOM_BITE("mob.phantom.bite"), MOB_PHANTOM_DEATH("mob.phantom.death"), @@ -1157,11 +1181,13 @@ public enum SoundEnum { PLACE_SCULK_SENSOR("place.sculk_sensor"), PLACE_SCULK_SHRIEKER("place.sculk_shrieker"), PLACE_SMALL_AMETHYST_BUD("place.small_amethyst_bud"), + PLACE_SPONGE("place.sponge"), PLACE_SPORE_BLOSSOM("place.spore_blossom"), PLACE_SUSPICIOUS_GRAVEL("place.suspicious_gravel"), PLACE_SUSPICIOUS_SAND("place.suspicious_sand"), PLACE_TUFF("place.tuff"), PLACE_TUFF_BRICKS("place.tuff_bricks"), + PLACE_WET_SPONGE("place.wet_sponge"), PORTAL_PORTAL("portal.portal"), PORTAL_TRAVEL("portal.travel"), PORTAL_TRIGGER("portal.trigger"), @@ -1238,6 +1264,7 @@ public enum SoundEnum { SIGN_DYE_USE("sign.dye.use"), SIGN_INK_SAC_USE("sign.ink_sac.use"), SMITHING_TABLE_USE("smithing_table.use"), + SPONGE_ABSORB("sponge.absorb"), SPREAD_SCULK("spread.sculk"), STEP_AMETHYST_BLOCK("step.amethyst_block"), STEP_AMETHYST_CLUSTER("step.amethyst_cluster"), @@ -1301,6 +1328,7 @@ public enum SoundEnum { STEP_SNOW("step.snow"), STEP_SOUL_SAND("step.soul_sand"), STEP_SOUL_SOIL("step.soul_soil"), + STEP_SPONGE("step.sponge"), STEP_SPORE_BLOSSOM("step.spore_blossom"), STEP_STEM("step.stem"), STEP_STONE("step.stone"), @@ -1310,6 +1338,7 @@ public enum SoundEnum { STEP_TUFF_BRICKS("step.tuff_bricks"), STEP_VINES("step.vines"), STEP_WEB("step.web"), + STEP_WET_SPONGE("step.wet_sponge"), STEP_WOOD("step.wood"), TILE_PISTON_IN("tile.piston.in"), TILE_PISTON_OUT("tile.piston.out"), diff --git a/src/main/java/cn/nukkit/network/protocol/LevelEventPacket.java b/src/main/java/cn/nukkit/network/protocol/LevelEventPacket.java index 2d4189170e8..c2a80198909 100644 --- a/src/main/java/cn/nukkit/network/protocol/LevelEventPacket.java +++ b/src/main/java/cn/nukkit/network/protocol/LevelEventPacket.java @@ -155,6 +155,8 @@ public class LevelEventPacket extends DataPacket { public static final int EVENT_ANIMATION_VAULT_EJECT_ITEM = 9813; public static final int EVENT_ANIMATION_SPAWN_COBWEB = 9814; public static final int EVENT_PARTICLE_SMASH_ATTACK_GROUND_DUST = 9815; + public static final int EVENT_PARTICLE_CREAKING_HEART_TRIAL = 9816; + public static final int EVENT_PARTICLE_CREAKING_TEARDOWN = 9817; public static final int EVENT_ADD_PARTICLE_MASK = 0x4000; diff --git a/src/main/java/cn/nukkit/network/protocol/LevelSoundEventPacket.java b/src/main/java/cn/nukkit/network/protocol/LevelSoundEventPacket.java index 9fe70f73e10..5a9f6f5887a 100644 --- a/src/main/java/cn/nukkit/network/protocol/LevelSoundEventPacket.java +++ b/src/main/java/cn/nukkit/network/protocol/LevelSoundEventPacket.java @@ -569,8 +569,16 @@ public class LevelSoundEventPacket extends DataPacket { public static final int SOUND_RECORD_PRECIPICE = 529; public static final int SOUND_VAULT_REJECT_REWARDED_PLAYER = 530; public static final int SOUND_IMITATE_DROWNED = 531; - + public static final int SOUND_IMITATE_CREAKING = 532; public static final int SOUND_BUNDLE_INSERT_FAIL = 533; + public static final int SOUND_SPONGE_ABSORB = 534; + + public static final int SOUND_BLOCK_CREAKING_HEART_TRAIL = 536; + public static final int SOUND_CREAKING_HEART_SPAWN = 537; + public static final int SOUND_ACTIVATE = 538; + public static final int SOUND_DEACTIVATE = 539; + public static final int SOUND_FREEZE = 540; + public static final int SOUND_UNFREEZE = 541; public int sound; public float x;