From 0d02dbc4633f2172855e0c837c42fd9a69472f7b Mon Sep 17 00:00:00 2001 From: Eugene Rybalkin Date: Sat, 13 Apr 2024 18:23:06 +0300 Subject: [PATCH] fixed merge --- src/main/java/com/youpe/test/Testing.java | 33 +++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/youpe/test/Testing.java b/src/main/java/com/youpe/test/Testing.java index 38550c9..8840904 100644 --- a/src/main/java/com/youpe/test/Testing.java +++ b/src/main/java/com/youpe/test/Testing.java @@ -1,26 +1,15 @@ package com.youpe.test; -import com.youpe.test.event.TestHudRender; import com.youpe.test.item.ModItems; -import com.youpe.test.item.custom.CustomItem; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; -import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.fabricmc.fabric.api.registry.FuelRegistry; import net.minecraft.block.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroups; import net.minecraft.network.PacketByteBuf; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; -import net.minecraft.util.Rarity; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,5 +29,27 @@ public class Testing implements ModInitializer { LOGGER.info("Hello Fabric world!"); ModItems.registerModItems(); + PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, entity) -> { + if (state.getBlock() == Blocks.GRASS_BLOCK || state.getBlock() == Blocks.DIRT) { + StateSaverAndLoader serverState = StateSaverAndLoader.getServerState(world.getServer()); + // Increment the amount of dirt blocks that have been broken + serverState.totalDirtBlocksBroken += 1; + + PlayerData playerState = StateSaverAndLoader.getPlayerState(player); + playerState.dirtBlocksBroken += 1; + + // Send a packet to the client + MinecraftServer server = world.getServer(); + + PacketByteBuf data = PacketByteBufs.create(); + data.writeInt(serverState.totalDirtBlocksBroken); + data.writeInt(playerState.dirtBlocksBroken); + + ServerPlayerEntity playerEntity = server.getPlayerManager().getPlayer(player.getUuid()); + server.execute(() -> { + ServerPlayNetworking.send(playerEntity, DIRT_BROKEN, data); + }); + } + }); } } \ No newline at end of file