diff --git a/src/client/java/jesse/keeblarcraft/KeeblarcraftClient.java b/src/client/java/jesse/keeblarcraft/KeeblarcraftClient.java index 0ba3dbc..f3c3ace 100644 --- a/src/client/java/jesse/keeblarcraft/KeeblarcraftClient.java +++ b/src/client/java/jesse/keeblarcraft/KeeblarcraftClient.java @@ -1,19 +1,26 @@ package jesse.keeblarcraft; +import jesse.keeblarcraft.Entities.EntityRegistration; +import jesse.keeblarcraft.GuiMgr.Entities.ShopKeeperRenderer; import jesse.keeblarcraft.gui.ClientHandlers; -// import jesse.keeblarcraft.gui.ScreenManager; -// import jesse.keeblarcraft.gui.widgets.TreeWidget; import jesse.keeblarcraft.Shortcuts.ShortcutManager; import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; +import net.minecraft.client.render.entity.model.EntityModelLayer; +import net.minecraft.util.Identifier; public class KeeblarcraftClient implements ClientModInitializer { - + public static final EntityModelLayer SHOP_KEEPER_LAYER = new EntityModelLayer(new Identifier("textures/entity/villager/villager.png"), "VILLAGE_ENTITY_MODEL_LAYER"); @Override public void onInitializeClient() { ShortcutManager.RegisterKeybinds(); ClientHandlers.RegisterHandlers(); +// EntityRendererRegistry.INSTANCE.register(EntityRegistration.SHOP_KEEPER_ENTITY_TYPE, (context) -> { +// return new ShopKeeperRenderer(context); +// }); + // ScreenManager.GetInstance(); // ScreenManager.AddWidget(TreeWidget.class, 10); } diff --git a/src/main/java/jesse/keeblarcraft/BankMgr/BankManager.java b/src/main/java/jesse/keeblarcraft/BankMgr/BankManager.java index 5ebdb07..69ca0ef 100644 --- a/src/main/java/jesse/keeblarcraft/BankMgr/BankManager.java +++ b/src/main/java/jesse/keeblarcraft/BankMgr/BankManager.java @@ -138,6 +138,7 @@ public final class BankManager { /// @param[in] player Player object to change default accounts of /// /// @param[in] The new default account global account identifier + ///////////////////////////////////////////////////////////////////////////// public void ChangeDefaultPlayerAccount(ServerPlayerEntity player, String newDefaultAccount) { Integer routingNumber = AccountNumberGenerator.GetRoutingNumberFromId(newDefaultAccount); if (banks.containsKey(routingNumber)) { diff --git a/src/main/java/jesse/keeblarcraft/ChatStuff/ChatFormatting.java b/src/main/java/jesse/keeblarcraft/ChatStuff/ChatFormatting.java index b7faf63..b5046d2 100644 --- a/src/main/java/jesse/keeblarcraft/ChatStuff/ChatFormatting.java +++ b/src/main/java/jesse/keeblarcraft/ChatStuff/ChatFormatting.java @@ -31,7 +31,5 @@ public class ChatFormatting { case RED -> colorStr + "4"; case GREEN -> colorStr + "2"; }; - - // If this code is reachable, then someone has not properly handled the above switch-case } } diff --git a/src/main/java/jesse/keeblarcraft/Entities/EntityRegistration.java b/src/main/java/jesse/keeblarcraft/Entities/EntityRegistration.java new file mode 100644 index 0000000..f81e3ef --- /dev/null +++ b/src/main/java/jesse/keeblarcraft/Entities/EntityRegistration.java @@ -0,0 +1,22 @@ +package jesse.keeblarcraft.Entities; + +import jesse.keeblarcraft.Keeblarcraft; +import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.SpawnGroup; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +public class EntityRegistration { + public static final EntityType SHOP_KEEPER_ENTITY_TYPE = Registry.register( + Registries.ENTITY_TYPE, + Identifier.of(Keeblarcraft.MOD_ID, "shop_keeper"), + EntityType.Builder.create(ShopKeeper::new, SpawnGroup.MISC).setDimensions(1.0f, 1.0f).build("shop_keeper") + ); + + public static void RegisterEntities() { + Keeblarcraft.LOGGER.info("Registering custom entities..."); + FabricDefaultAttributeRegistry.register(SHOP_KEEPER_ENTITY_TYPE, ShopKeeper.createMobAttributes()); + } +} diff --git a/src/main/java/jesse/keeblarcraft/Entities/ShopKeeper.java b/src/main/java/jesse/keeblarcraft/Entities/ShopKeeper.java new file mode 100644 index 0000000..fbdbe84 --- /dev/null +++ b/src/main/java/jesse/keeblarcraft/Entities/ShopKeeper.java @@ -0,0 +1,30 @@ +package jesse.keeblarcraft.Entities; + +import net.minecraft.entity.EntityType; +import net.minecraft.entity.passive.MerchantEntity; +import net.minecraft.entity.passive.PassiveEntity; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.village.TradeOffer; +import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; + +public class ShopKeeper extends MerchantEntity { + public ShopKeeper(EntityType entityType, World world) { + super(entityType, world); + } + + @Override + protected void afterUsing(TradeOffer offer) { + + } + + @Override + protected void fillRecipes() { + + } + + @Override + public @Nullable PassiveEntity createChild(ServerWorld world, PassiveEntity entity) { + return null; + } +} diff --git a/src/main/java/jesse/keeblarcraft/GuiMgr/Entities/ShopKeeperRenderer.java b/src/main/java/jesse/keeblarcraft/GuiMgr/Entities/ShopKeeperRenderer.java new file mode 100644 index 0000000..8592a8a --- /dev/null +++ b/src/main/java/jesse/keeblarcraft/GuiMgr/Entities/ShopKeeperRenderer.java @@ -0,0 +1,10 @@ +package jesse.keeblarcraft.GuiMgr.Entities; + +import net.minecraft.client.render.entity.EntityRendererFactory; +import net.minecraft.client.render.entity.VillagerEntityRenderer; + +public class ShopKeeperRenderer extends VillagerEntityRenderer { + public ShopKeeperRenderer(EntityRendererFactory.Context context) { + super(context); + } +} \ No newline at end of file diff --git a/src/main/java/jesse/keeblarcraft/Keeblarcraft.java b/src/main/java/jesse/keeblarcraft/Keeblarcraft.java index a180c49..ad4882f 100644 --- a/src/main/java/jesse/keeblarcraft/Keeblarcraft.java +++ b/src/main/java/jesse/keeblarcraft/Keeblarcraft.java @@ -7,8 +7,6 @@ * */ -// color colour - package jesse.keeblarcraft; import net.fabricmc.api.ModInitializer; @@ -18,7 +16,6 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents; import net.kyrptonaught.customportalapi.api.CustomPortalBuilder; import net.minecraft.block.Blocks; -import net.minecraft.entity.mob.HostileEntity; import net.minecraft.item.Items; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry;