Skip to content

Commit e443ca8

Browse files
committed
[PORT] Updated all references to use NeoForge.
1 parent 7161fde commit e443ca8

21 files changed

Lines changed: 131 additions & 129 deletions

src/main/java/com/bokmcdok/butterflies/client/model/generators/ModBlockStateProvider.java

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import net.minecraft.world.level.block.Block;
1111
import net.minecraft.world.level.block.CropBlock;
1212
import net.minecraft.world.level.block.state.BlockState;
13-
import net.minecraftforge.client.model.generators.BlockStateProvider;
14-
import net.minecraftforge.client.model.generators.ConfiguredModel;
15-
import net.minecraftforge.client.model.generators.ModelFile;
16-
import net.minecraftforge.common.data.ExistingFileHelper;
17-
import net.minecraftforge.registries.RegistryObject;
13+
import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
14+
import net.neoforged.neoforge.client.model.generators.ConfiguredModel;
15+
import net.neoforged.neoforge.client.model.generators.ModelFile;
16+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
17+
import net.neoforged.neoforge.registries.DeferredHolder;
1818

1919
import java.util.List;
2020
import java.util.function.Function;
@@ -66,7 +66,7 @@ protected void registerStatesAndModels() {
6666
simpleBlockWithItem(BlockRegistry.BUTTERFLY_MICROSCOPE.get(), models().getExistingFile(BlockRegistry.BUTTERFLY_MICROSCOPE.getId()));
6767

6868
// Origami
69-
for(RegistryObject<Block> origami : BlockRegistry.BUTTERFLY_ORIGAMI) {
69+
for(DeferredHolder<Block, Block> origami : BlockRegistry.BUTTERFLY_ORIGAMI) {
7070
registerButterflyOrigami(origami);
7171
}
7272
}
@@ -93,7 +93,7 @@ private void registerBottledCaterpillar(int index) {
9393
* @param blocks The block list to register from.
9494
*/
9595
private void registerBottledEntity(int index,
96-
List<RegistryObject<Block>> blocks) {
96+
List<DeferredHolder<Block, Block>> blocks) {
9797
final ModelFile bottleModel = models().getExistingFile(new ResourceLocation(ButterfliesMod.MOD_ID, "bottle"));
9898
simpleBlock(blocks.get(index).get(), bottleModel);
9999
}
@@ -102,13 +102,10 @@ private void registerBottledEntity(int index,
102102
* Registers a flower bud block state.
103103
* @param block The block to create a block state for.
104104
*/
105-
private void registerFlowerBud(RegistryObject<Block> block) {
105+
private void registerFlowerBud(DeferredHolder<Block, Block> block) {
106106

107107
if (block.get() instanceof FlowerCropBlock flowerBud) {
108108

109-
// This should never be null.
110-
assert block.getId() != null;
111-
112109
String textureName = block.getId().getPath().substring(4);
113110

114111
Function<BlockState, ConfiguredModel[]> function =
@@ -118,7 +115,7 @@ private void registerFlowerBud(RegistryObject<Block> block) {
118115
}
119116
}
120117

121-
private void registerButterflyOrigami(RegistryObject<Block> block) {
118+
private void registerButterflyOrigami(DeferredHolder<Block,Block> block) {
122119

123120
Function<BlockState, ConfiguredModel[]> function =
124121
state -> generateOrientationState(state, block);
@@ -155,7 +152,7 @@ private ConfiguredModel[] generateCropState(BlockState state,
155152
* @return A new variant of the block state.
156153
*/
157154
private ConfiguredModel[] generateOrientationState(BlockState state,
158-
RegistryObject<Block> block) {
155+
DeferredHolder<Block, Block> block) {
159156
ConfiguredModel[] models = new ConfiguredModel[1];
160157
FrontAndTop orientation = state.getValue(ButterflyOrigamiBlock.ORIENTATION);
161158
int x = 0;
@@ -215,9 +212,6 @@ private ConfiguredModel[] generateOrientationState(BlockState state,
215212
break;
216213
}
217214

218-
// This should never be null.
219-
assert block.getId() != null;
220-
221215
final ResourceLocation parent = new ResourceLocation(ButterfliesMod.MOD_ID, "block/butterfly_origami");
222216
String path = block.getId().getPath();
223217
models[0] = new ConfiguredModel(

src/main/java/com/bokmcdok/butterflies/client/model/generators/ModItemModelProvider.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import net.minecraft.data.PackOutput;
88
import net.minecraft.resources.ResourceLocation;
99
import net.minecraft.world.item.Item;
10-
import net.minecraftforge.client.model.generators.ItemModelProvider;
11-
import net.minecraftforge.client.model.generators.ModelFile;
12-
import net.minecraftforge.common.data.ExistingFileHelper;
13-
import net.minecraftforge.registries.RegistryObject;
10+
import net.neoforged.neoforge.client.model.generators.ItemModelProvider;
11+
import net.neoforged.neoforge.client.model.generators.ModelFile;
12+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
13+
import net.neoforged.neoforge.registries.DeferredHolder;
1414

1515
import java.util.Objects;
1616

@@ -168,7 +168,7 @@ private void registerFullButterflyNet(int index) {
168168
* Registers a special butterfly net (e.g. burnt or empty).
169169
* @param item The item to register.
170170
*/
171-
private void registerSpecialButterflyNet(RegistryObject<Item> item) {
171+
private void registerSpecialButterflyNet(DeferredHolder<Item, Item> item) {
172172
String path = getPath(item);
173173
singleTexture(path, HANDHELD_ROD, "layer0", new ResourceLocation(ButterfliesMod.MOD_ID, "item/butterfly_net/" + path));
174174
}
@@ -177,7 +177,7 @@ private void registerSpecialButterflyNet(RegistryObject<Item> item) {
177177
* Registers a bottled butterfly item.
178178
* @param item The item to register.
179179
*/
180-
private void bottledButterflyItem(RegistryObject<Item> item)
180+
private void bottledButterflyItem(DeferredHolder<Item, Item> item)
181181
{
182182
bottledItem(item, "bottled_butterfly", "bottled", 18);
183183
}
@@ -186,7 +186,7 @@ private void bottledButterflyItem(RegistryObject<Item> item)
186186
* Registers a bottled caterpillar item.
187187
* @param item The item to register.
188188
*/
189-
private void bottledCaterpillarItem(RegistryObject<Item> item)
189+
private void bottledCaterpillarItem(DeferredHolder<Item, Item> item)
190190
{
191191
bottledItem(item, "bottled_caterpillar", "bottled_caterpillar", 20);
192192
}
@@ -198,7 +198,7 @@ private void bottledCaterpillarItem(RegistryObject<Item> item)
198198
* @param texturePrefix The prefix for the texture name.
199199
* @param substrStart The start of the substring for the texture name.
200200
*/
201-
private void bottledItem(RegistryObject<Item> item,
201+
private void bottledItem(DeferredHolder<Item, Item> item,
202202
String textureLocation,
203203
String texturePrefix,
204204
int substrStart)
@@ -214,7 +214,7 @@ private void bottledItem(RegistryObject<Item> item,
214214
* @param item The item.
215215
* @return The path of the item.
216216
*/
217-
private String getPath(RegistryObject<Item> item) {
217+
private String getPath(DeferredHolder<Item, Item> item) {
218218
return Objects.requireNonNull(item.getId()).getPath();
219219
}
220220
}

src/main/java/com/bokmcdok/butterflies/common/data/ModAdvancementGenerator.java

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import net.minecraft.advancements.*;
99
import net.minecraft.advancements.critereon.InventoryChangeTrigger;
1010
import net.minecraft.advancements.critereon.ItemPredicate;
11-
import net.minecraft.commands.CommandFunction;
1211
import net.minecraft.core.HolderLookup;
1312
import net.minecraft.nbt.CompoundTag;
1413
import net.minecraft.network.chat.Component;
@@ -17,18 +16,20 @@
1716
import net.minecraft.world.item.Item;
1817
import net.minecraft.world.item.ItemStack;
1918
import net.minecraft.world.item.Items;
20-
import net.minecraftforge.common.data.ExistingFileHelper;
21-
import net.minecraftforge.common.data.ForgeAdvancementProvider;
22-
import net.minecraftforge.registries.RegistryObject;
19+
import net.neoforged.neoforge.common.data.AdvancementProvider;
20+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
21+
import net.neoforged.neoforge.registries.DeferredHolder;
2322
import org.jetbrains.annotations.NotNull;
2423

24+
import java.util.List;
2525
import java.util.Objects;
26+
import java.util.Optional;
2627
import java.util.function.Consumer;
2728

2829
/**
2930
* Generates all advancements for the mod.
3031
*/
31-
public class ModAdvancementGenerator implements ForgeAdvancementProvider.AdvancementGenerator {
32+
public class ModAdvancementGenerator implements AdvancementProvider.AdvancementGenerator {
3233

3334
/**
3435
* Entry point.
@@ -52,7 +53,7 @@ public void generate(@NotNull HolderLookup.Provider registries,
5253
* @param item The item to add.
5354
*/
5455
private void addItemCriterion(Advancement.Builder builder,
55-
RegistryObject<Item> item) {
56+
DeferredHolder<Item, Item> item) {
5657
builder.addCriterion(
5758
Objects.requireNonNull(item.getKey()).location().getPath(),
5859
InventoryChangeTrigger.TriggerInstance.hasItems(item.get()));
@@ -68,15 +69,15 @@ private Advancement.Builder challenge(Item iconItem,
6869
String localization,
6970
int xpReward) {
7071
return Advancement.Builder.advancement()
71-
.display(new DisplayInfo(new ItemStack(iconItem),
72+
.display(new ItemStack(iconItem),
7273
createTitleString(localization),
7374
createDescriptionString(localization),
7475
null,
75-
FrameType.CHALLENGE,
76+
AdvancementType.CHALLENGE,
7677
true,
7778
true,
78-
false))
79-
.rewards(new AdvancementRewards(xpReward, new ResourceLocation[0], new ResourceLocation[0], CommandFunction.CacheableFunction.NONE));
79+
false)
80+
.rewards(new AdvancementRewards(xpReward, List.of(), List.of(), Optional.empty()));
8081
}
8182

8283
/**
@@ -148,8 +149,8 @@ private MutableComponent createDescriptionString(String localization) {
148149
* @param localization The name of the advancement.
149150
* @return A new resource location.
150151
*/
151-
private ResourceLocation createLocation(String localization) {
152-
return new ResourceLocation(ButterfliesMod.MOD_ID, "butterfly/" + localization);
152+
private String createLocation(String localization) {
153+
return ButterfliesMod.MOD_ID + ":butterfly/" + localization;
153154
}
154155

155156
/**
@@ -178,14 +179,14 @@ private void createMiscAdvancements(@NotNull Consumer<AdvancementHolder> saver,
178179
*/
179180
private AdvancementHolder createRoot(@NotNull Consumer<AdvancementHolder> saver) {
180181
return Advancement.Builder.advancement()
181-
.display(new DisplayInfo(new ItemStack(ItemRegistry.EMPTY_BUTTERFLY_NET.get()),
182+
.display(new ItemStack(ItemRegistry.EMPTY_BUTTERFLY_NET.get()),
182183
createTitleString("root"),
183184
createDescriptionString("root"),
184185
new ResourceLocation("minecraft:textures/gui/advancements/backgrounds/stone.png"),
185-
FrameType.TASK,
186+
AdvancementType.TASK,
186187
false, // Show Toast
187188
false, // Announce Chat
188-
false)) // Hidden
189+
false) // Hidden
189190
.addCriterion("butterfly_net",
190191
InventoryChangeTrigger.TriggerInstance.hasItems(ItemRegistry.EMPTY_BUTTERFLY_NET.get()))
191192
.save(saver, createLocation("root"));
@@ -251,15 +252,15 @@ private Advancement.Builder goal(Item iconItem,
251252
String localization,
252253
int xpReward) {
253254
return Advancement.Builder.advancement()
254-
.display(new DisplayInfo(new ItemStack(iconItem),
255+
.display(new ItemStack(iconItem),
255256
createTitleString(localization),
256257
createDescriptionString(localization),
257258
null,
258-
FrameType.GOAL,
259+
AdvancementType.GOAL,
259260
true,
260261
false,
261-
true))
262-
.rewards(new AdvancementRewards(xpReward, new ResourceLocation[0], new ResourceLocation[0], CommandFunction.CacheableFunction.NONE));
262+
true)
263+
.rewards(new AdvancementRewards(xpReward, List.of(), List.of(), Optional.empty()));
263264
}
264265

265266
/**
@@ -274,7 +275,7 @@ private Advancement.Builder goal(Item iconItem,
274275
private void singleItemGoal(@NotNull Consumer<AdvancementHolder> saver,
275276
Item iconItem,
276277
String localization,
277-
RegistryObject<Item> collectItem,
278+
DeferredHolder<Item, Item> collectItem,
278279
AdvancementHolder parent,
279280
int xpReward) {
280281
Advancement.Builder builder = goal(iconItem, localization.substring(1), xpReward);
@@ -322,14 +323,14 @@ private AdvancementHolder save(@NotNull Consumer<AdvancementHolder> saver,
322323
private Advancement.Builder task(Item iconItem,
323324
String localization) {
324325
return Advancement.Builder.advancement()
325-
.display(new DisplayInfo(new ItemStack(iconItem),
326+
.display(new ItemStack(iconItem),
326327
createTitleString(localization),
327328
createDescriptionString(localization),
328329
null,
329-
FrameType.TASK,
330+
AdvancementType.TASK,
330331
true,
331332
true,
332-
false));
333+
false);
333334
}
334335

335336
/**

src/main/java/com/bokmcdok/butterflies/common/data/ModGlobalLootModifierProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import net.minecraft.resources.ResourceLocation;
99
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
1010
import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition;
11-
import net.minecraftforge.common.data.GlobalLootModifierProvider;
12-
import net.minecraftforge.common.loot.LootTableIdCondition;
11+
import net.neoforged.neoforge.common.data.GlobalLootModifierProvider;
12+
import net.neoforged.neoforge.common.loot.LootTableIdCondition;
1313

1414
/**
1515
* Registers all the loot modifiers.

src/main/java/com/bokmcdok/butterflies/common/data/ModWorldGenProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@
88
import net.minecraft.core.RegistrySetBuilder;
99
import net.minecraft.core.registries.Registries;
1010
import net.minecraft.data.PackOutput;
11-
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
12-
import net.minecraftforge.registries.ForgeRegistries;
11+
import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider;
12+
import net.neoforged.neoforge.registries.NeoForgeRegistries;
1313

1414
import java.util.Set;
1515
import java.util.concurrent.CompletableFuture;
1616

1717
/**
1818
* Provides any world generation data.
1919
*/
20-
public class ModWorldGenProvider extends DatapackBuiltinEntriesProvider {
20+
public class ModWorldGenProvider extends DatapackBuiltinEntriesProvider {
2121
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
2222
.add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap)
2323
.add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap)
24-
.add(ForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap);
24+
.add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap);
2525

2626
/**
2727
* Constructor.
Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
package com.bokmcdok.butterflies.common.loot;
22

3-
import com.google.common.base.Suppliers;
43
import com.mojang.serialization.Codec;
54
import com.mojang.serialization.codecs.RecordCodecBuilder;
65
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
6+
import net.minecraft.core.registries.BuiltInRegistries;
77
import net.minecraft.world.item.Item;
88
import net.minecraft.world.item.ItemStack;
99
import net.minecraft.world.level.storage.loot.LootContext;
1010
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
11-
import net.minecraftforge.common.loot.IGlobalLootModifier;
12-
import net.minecraftforge.common.loot.LootModifier;
13-
import net.minecraftforge.registries.ForgeRegistries;
11+
import net.neoforged.neoforge.common.loot.IGlobalLootModifier;
12+
import net.neoforged.neoforge.common.loot.LootModifier;
1413
import org.jetbrains.annotations.NotNull;
1514

16-
import java.util.function.Supplier;
17-
1815
/**
1916
* A loot modifier that adds an item to the loot.
2017
*/
2118
public class AddItemLootModifier extends LootModifier {
22-
public static final Supplier<Codec<AddItemLootModifier>> CODEC = Suppliers.memoize(()
23-
-> RecordCodecBuilder.create(inst -> codecStart(inst).and(ForgeRegistries.ITEMS.getCodec()
24-
.fieldOf("item").forGetter(m -> m.item)).apply(inst, AddItemLootModifier::new)));
25-
private final Item item;
19+
20+
public static final Codec<AddItemLootModifier> CODEC =
21+
RecordCodecBuilder.create(inst ->
22+
codecStart(inst)
23+
.and(BuiltInRegistries.ITEM.byNameCodec()
24+
.fieldOf("item").forGetter(m -> m.item))
25+
.apply(inst, AddItemLootModifier::new));
26+
27+
protected final Item item;
2628

2729
/**
2830
* Construction.
@@ -42,15 +44,17 @@ public AddItemLootModifier(LootItemCondition[] conditionsIn,
4244
* @return The updated list of ItemStacks.
4345
*/
4446
@Override
45-
protected @NotNull ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot,
46-
LootContext context) {
47+
protected @NotNull ObjectArrayList<ItemStack> doApply(@NotNull ObjectArrayList<ItemStack> generatedLoot,
48+
@NotNull LootContext context) {
4749
for(LootItemCondition condition : this.conditions) {
4850
if(!condition.test(context)) {
4951
return generatedLoot;
5052
}
5153
}
5254

53-
generatedLoot.add(new ItemStack(this.item));
55+
if (item != null) {
56+
generatedLoot.add(new ItemStack(this.item));
57+
}
5458

5559
return generatedLoot;
5660
}
@@ -59,8 +63,9 @@ public AddItemLootModifier(LootItemCondition[] conditionsIn,
5963
* Access to the code.
6064
* @return The codec.
6165
*/
66+
@NotNull
6267
@Override
6368
public Codec<? extends IGlobalLootModifier> codec() {
64-
return CODEC.get();
69+
return CODEC;
6570
}
6671
}

0 commit comments

Comments
 (0)