Skip to content

Commit

Permalink
Use Lodestone instead of custom loader
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaxydog committed Jun 12, 2024
1 parent 798a104 commit d848f3f
Show file tree
Hide file tree
Showing 17 changed files with 121 additions and 274 deletions.
26 changes: 17 additions & 9 deletions src/main/java/dev/jaxydog/Cheese.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dev.jaxydog;

import dev.jaxydog.content.block.CustomBlocks;
import dev.jaxydog.content.item.CustomItems;
import dev.jaxydog.utility.register.AutoRegisterImpl;
import dev.jaxydog.lodestone.Lodestone;
import dev.jaxydog.lodestone.api.CommonLoaded;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.item.ItemGroup;
Expand All @@ -15,23 +17,29 @@
public class Cheese implements ModInitializer {

public static final String MOD_ID = "cheese";
public static final Logger LOGGER = LoggerFactory.getLogger(Cheese.MOD_ID);
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);

public static final CustomBlocks BLOCKS = new CustomBlocks();
public static final CustomItems ITEMS = new CustomItems();
public static final ItemGroup ITEM_GROUP = FabricItemGroup.builder()
.icon(CustomItems.CHEESE::getDefaultStack)
.displayName(Text.translatable(Cheese.newId("default").toTranslationKey("itemGroup")))
.displayName(Text.translatable(newId("default").toTranslationKey("itemGroup")))
.build();

public static Identifier newId(String path) {
return Identifier.of(MOD_ID, path);
}

@Override
public void onInitialize() {
Registry.register(Registries.ITEM_GROUP, Cheese.newId("default"), Cheese.ITEM_GROUP);
Registry.register(Registries.ITEM_GROUP, newId("default"), ITEM_GROUP);

AutoRegisterImpl.runMain();
BLOCKS.register(CommonLoaded.class);
ITEMS.register(CommonLoaded.class);

Cheese.LOGGER.info("Cheese has loaded! Thanks for playing :3");
}
Lodestone.load(CommonLoaded.class, MOD_ID);

public static Identifier newId(String path) {
return Identifier.of(Cheese.MOD_ID, path);
Cheese.LOGGER.info("Cheese has loaded! Thanks for playing :3");
}

}
8 changes: 6 additions & 2 deletions src/main/java/dev/jaxydog/CheeseClient.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package dev.jaxydog;

import dev.jaxydog.utility.register.AutoRegisterImpl;
import dev.jaxydog.lodestone.Lodestone;
import dev.jaxydog.lodestone.api.ClientLoaded;
import net.fabricmc.api.ClientModInitializer;

public class CheeseClient implements ClientModInitializer {

@Override
public void onInitializeClient() {
AutoRegisterImpl.runClient();
Cheese.BLOCKS.register(ClientLoaded.class);
Cheese.ITEMS.register(ClientLoaded.class);

Lodestone.load(ClientLoaded.class, Cheese.MOD_ID);
}

}
21 changes: 11 additions & 10 deletions src/main/java/dev/jaxydog/content/block/CustomBlock.java
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
package dev.jaxydog.content.block;

import dev.jaxydog.utility.register.Registerable;
import dev.jaxydog.Cheese;
import dev.jaxydog.lodestone.api.CommonLoaded;
import net.minecraft.block.Block;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;

public class CustomBlock extends Block implements Registerable.Main {
public class CustomBlock extends Block implements CommonLoaded {

private final String RAW_ID;
private final String path;

public CustomBlock(String rawId, Settings settings) {
public CustomBlock(String path, Settings settings) {
super(settings);
this.RAW_ID = rawId;
this.path = path;
}

@Override
public String getRawId() {
return this.RAW_ID;
public Identifier getLoaderId() {
return Cheese.newId(this.path);
}

@Override
public void registerMain() {
Main.super.registerMain();
Registry.register(Registries.BLOCK, this.getId(), this);
public void loadCommon() {
Registry.register(Registries.BLOCK, this.getLoaderId(), this);
}

}
12 changes: 9 additions & 3 deletions src/main/java/dev/jaxydog/content/block/CustomBlocks.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package dev.jaxydog.content.block;

import dev.jaxydog.utility.register.AutoRegister;
import dev.jaxydog.Cheese;
import dev.jaxydog.lodestone.api.AutoLoader;
import net.minecraft.block.AbstractBlock.Settings;
import net.minecraft.block.Blocks;
import net.minecraft.block.MapColor;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;

@AutoRegister
public class CustomBlocks {
public final class CustomBlocks extends AutoLoader {

public static final CustomBlock CHEESE_BLOCK = new CustomBlock(
"cheese_block",
Expand All @@ -20,4 +21,9 @@ public class CustomBlocks {
.sounds(BlockSoundGroup.CROP)
.ticksRandomly());

@Override
public Identifier getLoaderId() {
return Cheese.newId("blocks");
}

}
19 changes: 10 additions & 9 deletions src/main/java/dev/jaxydog/content/block/TomatoesBlock.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dev.jaxydog.content.block;

import dev.jaxydog.Cheese;
import dev.jaxydog.content.item.CustomItems;
import dev.jaxydog.utility.register.Registerable;
import dev.jaxydog.lodestone.api.ClientLoaded;
import dev.jaxydog.lodestone.api.CommonLoaded;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
Expand All @@ -15,13 +17,14 @@
import net.minecraft.state.StateManager.Builder;
import net.minecraft.state.property.IntProperty;
import net.minecraft.state.property.Properties;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;

public class TomatoesBlock extends CropBlock implements Registerable.Client, Registerable.Main {
public class TomatoesBlock extends CropBlock implements ClientLoaded, CommonLoaded {

public static final int TOMATOES_MAX_AGE = 3;
public static final IntProperty AGE = Properties.AGE_3;
Expand Down Expand Up @@ -52,8 +55,8 @@ public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos po
}

@Override
public String getRawId() {
return "tomatoes";
public Identifier getLoaderId() {
return Cheese.newId("tomatoes");
}

@Override
Expand All @@ -79,14 +82,12 @@ protected void appendProperties(Builder<Block, BlockState> builder) {
}

@Override
public void registerMain() {
Main.super.registerMain();
Registry.register(Registries.BLOCK, this.getId(), this);
public void loadCommon() {
Registry.register(Registries.BLOCK, this.getLoaderId(), this);
}

@Override
public void registerClient() {
Client.super.registerClient();
public void loadClient() {
BlockRenderLayerMap.INSTANCE.putBlock(this, RenderLayer.getCutout());
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/dev/jaxydog/content/item/BottleItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

public class BottleItem extends CustomItem {

public BottleItem(String rawId, Settings settings, LootModifier... lootModifiers) {
super(rawId, settings, lootModifiers);
public BottleItem(String path, Settings settings, LootModifier... lootModifiers) {
super(path, settings, lootModifiers);
}

@Override
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/dev/jaxydog/content/item/BowlItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

public class BowlItem extends CustomItem {

public BowlItem(String rawId, Settings settings, LootModifier... lootModifiers) {
super(rawId, settings, lootModifiers);
public BowlItem(String path, Settings settings, LootModifier... lootModifiers) {
super(path, settings, lootModifiers);
}

@Override
Expand Down
26 changes: 13 additions & 13 deletions src/main/java/dev/jaxydog/content/item/CustomAliasedBlockItem.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package dev.jaxydog.content.item;

import dev.jaxydog.Cheese;
import dev.jaxydog.lodestone.api.CommonLoaded;
import dev.jaxydog.utility.LootModifier;
import dev.jaxydog.utility.register.Registerable;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.block.Block;
import net.minecraft.client.item.TooltipType;
Expand All @@ -13,19 +13,20 @@
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;

import java.util.LinkedList;
import java.util.List;

public class CustomAliasedBlockItem extends AliasedBlockItem implements Registerable.Main {
public class CustomAliasedBlockItem extends AliasedBlockItem implements CommonLoaded {

private final String RAW_ID;
private final List<LootModifier> LOOT_MODIFIERS = new LinkedList<>();
private final String path;
private final List<LootModifier> lootModifiers = new LinkedList<>();

public CustomAliasedBlockItem(String rawId, Block block, Settings settings, LootModifier... lootModifiers) {
public CustomAliasedBlockItem(String path, Block block, Settings settings, LootModifier... lootModifiers) {
super(block, settings);
this.RAW_ID = rawId;
this.LOOT_MODIFIERS.addAll(List.of(lootModifiers));
this.path = path;
this.lootModifiers.addAll(List.of(lootModifiers));
}

@Override
Expand All @@ -42,19 +43,18 @@ public void appendTooltip(ItemStack stack, TooltipContext context, List<Text> to
}

@Override
public String getRawId() {
return this.RAW_ID;
public Identifier getLoaderId() {
return Cheese.newId(this.path);
}

@SuppressWarnings("OptionalGetWithoutIsPresent")
@Override
public void registerMain() {
Main.super.registerMain();
Registry.register(Registries.ITEM, this.getId(), this);
public void loadCommon() {
Registry.register(Registries.ITEM, this.getLoaderId(), this);
ItemGroupEvents.modifyEntriesEvent(Registries.ITEM_GROUP.getKey(Cheese.ITEM_GROUP).get())
.register(e -> e.add(this));

this.LOOT_MODIFIERS.forEach(LootModifier::registerMain);
this.lootModifiers.forEach(LootModifier::loadCommon);
}

}
26 changes: 13 additions & 13 deletions src/main/java/dev/jaxydog/content/item/CustomBlockItem.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package dev.jaxydog.content.item;

import dev.jaxydog.Cheese;
import dev.jaxydog.lodestone.api.CommonLoaded;
import dev.jaxydog.utility.LootModifier;
import dev.jaxydog.utility.register.Registerable;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.block.Block;
import net.minecraft.client.item.TooltipType;
Expand All @@ -13,19 +13,20 @@
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;

import java.util.LinkedList;
import java.util.List;

public class CustomBlockItem extends BlockItem implements Registerable.Main {
public class CustomBlockItem extends BlockItem implements CommonLoaded {

private final String RAW_ID;
private final List<LootModifier> LOOT_MODIFIERS = new LinkedList<>();
private final String path;
private final List<LootModifier> lootModifiers = new LinkedList<>();

public CustomBlockItem(String rawId, Block block, Settings settings, LootModifier... lootModifiers) {
public CustomBlockItem(String path, Block block, Settings settings, LootModifier... lootModifiers) {
super(block, settings);
this.RAW_ID = rawId;
this.LOOT_MODIFIERS.addAll(List.of(lootModifiers));
this.path = path;
this.lootModifiers.addAll(List.of(lootModifiers));
}

@Override
Expand All @@ -42,19 +43,18 @@ public void appendTooltip(ItemStack stack, TooltipContext context, List<Text> to
}

@Override
public String getRawId() {
return this.RAW_ID;
public Identifier getLoaderId() {
return Cheese.newId(this.path);
}

@SuppressWarnings("OptionalGetWithoutIsPresent")
@Override
public void registerMain() {
Main.super.registerMain();
Registry.register(Registries.ITEM, this.getId(), this);
public void loadCommon() {
Registry.register(Registries.ITEM, this.getLoaderId(), this);
ItemGroupEvents.modifyEntriesEvent(Registries.ITEM_GROUP.getKey(Cheese.ITEM_GROUP).get())
.register(e -> e.add(this));

this.LOOT_MODIFIERS.forEach(LootModifier::registerMain);
this.lootModifiers.forEach(LootModifier::loadCommon);
}

}
Loading

0 comments on commit d848f3f

Please sign in to comment.