Skip to content

Commit ddbb24b

Browse files
committed
Fix block items not inheriting block name by default
1 parent 50c20e9 commit ddbb24b

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

src/main/java/dev/apexstudios/registree/builder/BlockBuilder.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,16 @@ public BlockBuilder<TBlock> renderType(ChunkSectionLayer renderType) {
150150
return this;
151151
}
152152

153-
public <TItem extends Item> BlockBuilder<TBlock> item(String identifier, BiFunction<TBlock, Item.Properties, TItem> factory, Consumer<ItemBuilder<TItem>> modifier) {
154-
child(context -> {
155-
var builder = context.registree().items().builder(identifier, properties -> factory.apply(context.get(), properties));
156-
modifier.accept(builder);
157-
return builder;
158-
});
153+
private <TItem extends Item> ItemBuilder<TItem> itemBuilder(Context<TBlock> context, String identifier, BiFunction<TBlock, Item.Properties, TItem> factory, Consumer<ItemBuilder<TItem>> modifier) {
154+
var builder = context.registree().items().builder(identifier, properties -> factory.apply(context.get(), properties))
155+
.properties(Item.Properties::useBlockDescriptionPrefix);
159156

160-
return this;
157+
modifier.accept(builder);
158+
return builder;
159+
}
160+
161+
public <TItem extends Item> BlockBuilder<TBlock> item(String identifier, BiFunction<TBlock, Item.Properties, TItem> factory, Consumer<ItemBuilder<TItem>> modifier) {
162+
return child(context -> itemBuilder(context, identifier, factory, modifier));
161163
}
162164

163165
public <TItem extends Item> BlockBuilder<TBlock> item(String identifier, BiFunction<TBlock, Item.Properties, TItem> factory) {
@@ -173,13 +175,7 @@ public BlockBuilder<TBlock> item(String identifier) {
173175
}
174176

175177
public <TItem extends Item> BlockBuilder<TBlock> item(BiFunction<TBlock, Item.Properties, TItem> factory, Consumer<ItemBuilder<TItem>> modifier) {
176-
child(context -> {
177-
var builder = context.registree().items().builder(context.identifier(), properties -> factory.apply(context.get(), properties));
178-
modifier.accept(builder);
179-
return builder;
180-
});
181-
182-
return this;
178+
return child(context -> itemBuilder(context, context.identifier(), factory, modifier));
183179
}
184180

185181
public <TItem extends Item> BlockBuilder<TBlock> item(BiFunction<TBlock, Item.Properties, TItem> factory) {

src/main/java/dev/apexstudios/registree/builder/Builder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ protected void finalize(TContext context) {
5050

5151
protected abstract TValue compile(TContext context);
5252

53-
protected final <TBuilder extends Builder<?, ?, ?, ?, ?, TBuilder>> void child(Function<TContext, TBuilder> childFactory) {
53+
@SuppressWarnings("unchecked")
54+
protected final <TBuilder extends Builder<?, ?, ?, ?, ?, TBuilder>> TSelf child(Function<TContext, TBuilder> childFactory) {
5455
children.add(childFactory);
56+
return (TSelf) this;
5557
}
5658

5759
public final THolder register() {

src/main/java/dev/apexstudios/registree/registrar/ItemRegistrar.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ public DeferredItem<Item> register(String identifier) {
4848
}
4949

5050
public <TItem extends Item, TBlock extends Block> DeferredItem<TItem> register(String identifier, Supplier<TBlock> blockSupplier, BiFunction<TBlock, Item.Properties, TItem> factory, Consumer<Item.Properties> propertiesModifier) {
51-
return register(identifier, properties -> factory.apply(blockSupplier.get(), properties), propertiesModifier);
51+
return register(identifier, properties -> factory.apply(blockSupplier.get(), properties), properties -> {
52+
properties.useBlockDescriptionPrefix();
53+
propertiesModifier.accept(properties);
54+
});
5255
}
5356

5457
public <TItem extends Item, TBlock extends Block> DeferredItem<TItem> register(String identifier, Supplier<TBlock> blockSupplier, BiFunction<TBlock, Item.Properties, TItem> factory) {

0 commit comments

Comments
 (0)