diff --git a/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java b/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java index 03c9d77..07a0dd0 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java +++ b/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java @@ -1,9 +1,7 @@ package fr.sushi.charmsnfabrics; import fr.sushi.charmsnfabrics.common.CnFRegistries; -import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; -import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.Mod; import net.neoforged.fml.config.ModConfig; import net.neoforged.fml.ModContainer; diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java b/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java index 1792c08..c0e47e9 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java +++ b/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java @@ -1,15 +1,11 @@ package fr.sushi.charmsnfabrics.client; import fr.sushi.charmsnfabrics.CharmsAndFabrics; -import fr.sushi.charmsnfabrics.client.datagen.CnFBlockLootProvider; -import fr.sushi.charmsnfabrics.client.datagen.CnFBlockTagsProvider; import fr.sushi.charmsnfabrics.client.datagen.CnFModelProvider; import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel; import fr.sushi.charmsnfabrics.client.renderer.FloralWorkbenchRenderer; import fr.sushi.charmsnfabrics.client.renderer.FlowerCrownRenderer; import fr.sushi.charmsnfabrics.common.CnFRegistries; -import net.minecraft.data.loot.LootTableProvider; -import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.ModContainer; @@ -17,14 +13,12 @@ import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.Mod; import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import net.neoforged.neoforge.client.event.EntityRenderersEvent; +import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; import net.neoforged.neoforge.client.gui.ConfigurationScreen; import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import net.neoforged.neoforge.data.event.GatherDataEvent; import top.theillusivec4.curios.api.client.ICurioRenderer; -import java.util.List; -import java.util.Set; - @Mod(value = CharmsAndFabrics.MODID, dist = Dist.CLIENT) @EventBusSubscriber(modid = CharmsAndFabrics.MODID, value = Dist.CLIENT) public class CnFClient @@ -63,11 +57,12 @@ public class CnFClient private static void onGatherClientData(final GatherDataEvent.Client event) { event.createProvider(CnFModelProvider::new); - event.createProvider( - (output, lookup) -> new LootTableProvider(output, Set.of(), - List.of(new LootTableProvider.SubProviderEntry( - CnFBlockLootProvider::new, - LootContextParamSets.BLOCK)), lookup)); - event.createProvider(CnFBlockTagsProvider::new); } + +// @SubscribeEvent +// private static void onScreenAttach(RegisterMenuScreensEvent event) +// { +// event.register(CnFRegistries.MenuTypes.FLORAL_WB_MENU.get(), +// FloralWorkbenchScreen::new); +// } } diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockLootProvider.java b/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockLootProvider.java deleted file mode 100644 index 84061ca..0000000 --- a/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockLootProvider.java +++ /dev/null @@ -1,31 +0,0 @@ -package fr.sushi.charmsnfabrics.client.datagen; - -import fr.sushi.charmsnfabrics.common.CnFRegistries; -import net.minecraft.core.HolderLookup; -import net.minecraft.data.loot.BlockLootSubProvider; -import net.minecraft.world.flag.FeatureFlags; -import net.minecraft.world.level.block.Block; - -import java.util.Set; - -public class CnFBlockLootProvider extends BlockLootSubProvider -{ - public CnFBlockLootProvider(HolderLookup.Provider registries) - { - super(Set.of(), FeatureFlags.DEFAULT_FLAGS, registries); - } - - @Override - protected Iterable getKnownBlocks() - { - return CnFRegistries.Blocks.BLOCKS.getEntries().stream() - .map(block -> (Block) block.get()) - .toList(); - } - - @Override - protected void generate() - { - this.dropSelf(CnFRegistries.Blocks.FLORAL_WORKBENCH.get()); - } -} diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockTagsProvider.java b/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockTagsProvider.java deleted file mode 100644 index 79cb54b..0000000 --- a/src/main/java/fr/sushi/charmsnfabrics/client/datagen/CnFBlockTagsProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.sushi.charmsnfabrics.client.datagen; - -import fr.sushi.charmsnfabrics.CharmsAndFabrics; -import fr.sushi.charmsnfabrics.common.CnFRegistries; -import net.minecraft.core.HolderLookup; -import net.minecraft.data.PackOutput; -import net.minecraft.tags.BlockTags; -import net.neoforged.neoforge.common.data.BlockTagsProvider; - -import java.util.concurrent.CompletableFuture; - -public class CnFBlockTagsProvider extends BlockTagsProvider -{ - public CnFBlockTagsProvider(PackOutput output, - CompletableFuture lookupProvider) - { - super(output, lookupProvider, CharmsAndFabrics.MODID); - } - - @Override - protected void addTags(HolderLookup.Provider provider) - { - this.tag(BlockTags.MINEABLE_WITH_AXE).add(CnFRegistries.Blocks.FLORAL_WORKBENCH.get()); - } -} diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java b/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java index 33e439b..20a79b4 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java @@ -12,10 +12,8 @@ import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.material.MapColor; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredHolder; @@ -53,12 +51,7 @@ public class CnFRegistries .setId(ResourceKey.create( Registries.BLOCK, registry_name)) - .noOcclusion() - .mapColor( - MapColor.WOOD) - .strength(2.0f, 3.0f) - .sound(SoundType.WOOD) - .ignitedByLava())); + .noOcclusion())); } public static class Tabs diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkbench.java b/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkbench.java index 6e13989..ea31028 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkbench.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkbench.java @@ -5,7 +5,10 @@ import fr.sushi.charmsnfabrics.common.CnFRegistries; import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkbenchBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.*; +import net.minecraft.world.Containers; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.MenuProvider; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; @@ -106,17 +109,13 @@ public class FloralWorkbench extends BaseEntityBlock if (!level.isClientSide()) { IItemHandler handler = blockentity.getItemHandler(); + ItemStack crown = handler.getStackInSlot(0); if (hasCrown && emptyHand) { - ItemStack extracted = handler.extractItem(0, 1, false); - if (!player.hasInfiniteMaterials()) - { - Containers.dropItemStack(level, pos.getX(), - pos.getY() + 1.0f, pos.getZ(), extracted); - } + Containers.dropItemStack(level, pos.getX(), + pos.getY() + 1.0f, pos.getZ(), crown); blockentity.setChanged(); - level.sendBlockUpdated(pos, state, state, 3); return InteractionResult.SUCCESS_SERVER; } else if (stack.is(CnFRegistries.Items.FLOWER_CROWN.get()) && @@ -125,18 +124,15 @@ public class FloralWorkbench extends BaseEntityBlock handler.insertItem(0, stack.copy(), false); stack.consume(1, player); blockentity.setChanged(); - level.sendBlockUpdated(pos, state, state, 3); return InteractionResult.CONSUME; - } - else - { - return InteractionResult.PASS; + } else { + return InteractionResult.FAIL; } } else { - return !hasCrown ^ emptyHand ? InteractionResult.SUCCESS : - InteractionResult.PASS; + return hasCrown ^ emptyHand ? InteractionResult.SUCCESS : + InteractionResult.FAIL; } } else diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkbenchBlockEntity.java b/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkbenchBlockEntity.java index ab090e0..485f515 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkbenchBlockEntity.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkbenchBlockEntity.java @@ -4,16 +4,11 @@ import fr.sushi.charmsnfabrics.common.CnFRegistries; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.Connection; -import net.minecraft.network.protocol.Packet; -import net.minecraft.network.protocol.game.ClientGamePacketListener; -import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; import net.minecraft.util.RandomSource; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.items.IItemHandler; import net.neoforged.neoforge.items.ItemStackHandler; -import org.jetbrains.annotations.Nullable; public class FloralWorkbenchBlockEntity extends BlockEntity { @@ -44,30 +39,6 @@ public class FloralWorkbenchBlockEntity extends BlockEntity .ifPresent(tag -> itemHandler.deserializeNBT(levelRegistry, tag)); } - @Override - public CompoundTag getUpdateTag(HolderLookup.Provider registries) - { - CompoundTag tag = super.getUpdateTag(registries); - tag.put("Inventory", itemHandler.serializeNBT(registries)); - return tag; - } - - - @Override - public void handleUpdateTag(CompoundTag nbt, - HolderLookup.Provider lookupProvider) - { - super.handleUpdateTag(nbt, lookupProvider); - nbt.getCompound("Inventory") - .ifPresent(tag -> itemHandler.deserializeNBT(lookupProvider, tag)); - } - - @Override - public @Nullable Packet getUpdatePacket() - { - return ClientboundBlockEntityDataPacket.create(this); - } - public RandomSource getRandomSource() { return this.randomSource;