Skip to content

Commit

Permalink
Register client extensions via event
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMCLoveMan committed Jul 23, 2024
1 parent 828bb9a commit 9fcf2ce
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 60 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ minecraft_version_range=[1.21, 1.22)

# NeoForge
neo_version=21.0.114-beta
neo_version_range=[21.0.40-beta,)
neo_version_range=[21.0.102-beta,)
loader_version_range=[4,)

# Mappings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import net.minecraft.world.level.block.state.properties.BlockSetType;
import net.minecraft.world.level.material.MapColor;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.themcbrothers.uselessmod.world.item.CoffeeMachineBlockItem;
import net.themcbrothers.uselessmod.world.item.CupBlockItem;
import net.themcbrothers.uselessmod.world.item.LightSwitchBlockItem;
import net.themcbrothers.uselessmod.world.item.UselessBedItem;
Expand Down Expand Up @@ -96,7 +95,7 @@ static void register() {
block -> new BlockItem(block, new Item.Properties().component(UselessDataComponents.WALL_CLOSET_MATERIAL.get(), Holder.direct(Blocks.AIR))));
public static final DeferredBlock<Block> MACHINE_SUPPLIER = BLOCKS.register("machine_supplier", () -> new MachineSupplierBlock(of().strength(0.5F).dynamicShape().noOcclusion()), GENERAL_BLOCK_ITEM);
public static final DeferredBlock<Block> COFFEE_MACHINE = BLOCKS.register("coffee_machine", () -> new CoffeeMachineBlock(of().mapColor(MapColor.METAL).requiresCorrectToolForDrops().strength(3.0F).sound(SoundType.METAL)),
block -> new CoffeeMachineBlockItem(block, new Item.Properties().component(DataComponents.CONTAINER, ItemContainerContents.EMPTY).component(UselessDataComponents.COFFEE_MACHINE_CONTENTS.get(), CoffeeMachineBlockEntity.Contents.EMPTY)));
block -> new BlockItem(block, new Item.Properties().component(DataComponents.CONTAINER, ItemContainerContents.EMPTY).component(UselessDataComponents.COFFEE_MACHINE_CONTENTS.get(), CoffeeMachineBlockEntity.Contents.EMPTY)));
public static final DeferredBlock<Block> CUP = BLOCKS.register("cup", () -> new CupBlock(of().strength(0.5F)), block -> new CupBlockItem(block, GENERAL_PROPS, false));
public static final DeferredBlock<Block> CUP_COFFEE = BLOCKS.register("cup_coffee", () -> new CupCoffeeBlock(of().strength(0.5F)), block -> new CupBlockItem(block, ONE_STACKING_PROPS, true));

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
package net.themcbrothers.uselessmod.core;

import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FastColor;
import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions;
import net.neoforged.neoforge.fluids.FluidStack;
import net.neoforged.neoforge.fluids.FluidType;
import net.themcbrothers.uselessmod.UselessMod;

import java.util.function.Consumer;
import java.util.function.Supplier;

public final class UselessFluidTypes {
Expand All @@ -19,30 +14,6 @@ static void register() {
new FluidType(FluidType.Properties.create()
.density(2048)
.viscosity(2048)) {
@Override
public void initializeClient(Consumer<IClientFluidTypeExtensions> consumer) {
consumer.accept(new IClientFluidTypeExtensions() {
private static final ResourceLocation PAINT_STILL = UselessMod.rl("block/paint_still"),
PAINT_FLOW = UselessMod.rl("block/paint_flow");

@Override
public ResourceLocation getStillTexture() {
return PAINT_STILL;
}

@Override
public ResourceLocation getFlowingTexture() {
return PAINT_FLOW;
}

@Override
public int getTintColor(FluidStack stack) {
Integer color = stack.get(UselessDataComponents.COLOR.get());
return color != null ? FastColor.ARGB32.color(0xFF, color) : -1;
}
});
}

@Override
public ItemStack getBucket(FluidStack stack) {
return new ItemStack(UselessItems.BUCKET_PAINT, 1, stack.getComponentsPatch());
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/net/themcbrothers/uselessmod/setup/ClientSetup.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@
import net.neoforged.neoforge.client.event.ModelEvent;
import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;
import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions;
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent;
import net.neoforged.neoforge.client.model.DynamicFluidContainerModel;
import net.neoforged.neoforge.fluids.FluidStack;
import net.themcbrothers.uselessmod.UselessMod;
import net.themcbrothers.uselessmod.api.CoffeeType;
import net.themcbrothers.uselessmod.client.gui.screens.inventory.CoffeeMachineScreen;
Expand Down Expand Up @@ -57,6 +60,7 @@ public ClientSetup(IEventBus bus, ModContainer modContainer) {

bus.addListener(this::clientSetup);
bus.addListener(this::menuScreens);
bus.addListener(this::extensions);
bus.addListener(this::blockColors);
bus.addListener(this::itemColors);
bus.addListener(this::entityRegisterRenders);
Expand Down Expand Up @@ -97,6 +101,32 @@ private void menuScreens(final RegisterMenuScreensEvent event) {
event.register(UselessMenuTypes.COFFEE_MACHINE.get(), CoffeeMachineScreen::new);
}

private void extensions(final RegisterClientExtensionsEvent event) {
event.registerItem(UselessItemStackRendererProvider.blockEntity(), UselessBlocks.COFFEE_MACHINE.asItem(), UselessBlocks.USELESS_BED.asItem());
event.registerItem(UselessItemStackRendererProvider.shield(), UselessItems.USELESS_SHIELD.asItem(), UselessItems.SUPER_USELESS_SHIELD.asItem());

event.registerFluidType(new IClientFluidTypeExtensions() {
private static final ResourceLocation PAINT_STILL = UselessMod.rl("block/paint_still"),
PAINT_FLOW = UselessMod.rl("block/paint_flow");

@Override
public ResourceLocation getStillTexture() {
return PAINT_STILL;
}

@Override
public ResourceLocation getFlowingTexture() {
return PAINT_FLOW;
}

@Override
public int getTintColor(FluidStack stack) {
Integer color = stack.get(UselessDataComponents.COLOR.get());
return color != null ? FastColor.ARGB32.color(0xFF, color) : -1;
}
}, UselessFluidTypes.PAINT.get());
}

private void blockColors(final RegisterColorHandlersEvent.Block event) {
final BlockColors colors = event.getBlockColors();

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ShieldItem;
import net.minecraft.world.item.Tier;
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
import net.themcbrothers.uselessmod.client.renderer.UselessItemStackRendererProvider;

import java.util.function.Consumer;

public class UselessShieldItem extends ShieldItem {
private final Tier tier;
Expand All @@ -16,11 +12,6 @@ public UselessShieldItem(Tier tier, Properties properties) {
this.tier = tier;
}

@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
consumer.accept(UselessItemStackRendererProvider.shield());
}

@Override
public boolean isValidRepairItem(ItemStack toRepair, ItemStack repair) {
return this.tier.getRepairIngredient().test(repair);
Expand Down

0 comments on commit 9fcf2ce

Please sign in to comment.