diff --git a/src/main/java/com/minelittlepony/unicopia/Config.java b/src/main/java/com/minelittlepony/unicopia/Config.java index 64e8ce15..36eaeda4 100644 --- a/src/main/java/com/minelittlepony/unicopia/Config.java +++ b/src/main/java/com/minelittlepony/unicopia/Config.java @@ -1,60 +1,30 @@ package com.minelittlepony.unicopia; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; +import java.util.HashSet; +import java.util.Set; -import com.google.common.collect.Lists; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.google.gson.annotations.Expose; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; +import com.minelittlepony.common.util.GamePaths; +import com.minelittlepony.common.util.settings.JsonConfig; -public class Config { - - private static Config INSTANCE = new Config(); - - private static final Gson GSON = new GsonBuilder() - .excludeFieldsWithoutExposeAnnotation() - .setPrettyPrinting() - .create(); +public class Config extends JsonConfig { + @Deprecated public static Config getInstance() { - return INSTANCE; + return Unicopia.getConfig(); } - static void init(Path directory) { - Path file = directory.resolve("unicopia.json"); - - try { - if (Files.exists(file)) { - try(JsonReader reader = new JsonReader(Files.newBufferedReader(file))) { - INSTANCE = GSON.fromJson(reader, Config.class); - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (INSTANCE == null) { - INSTANCE = new Config(); - } - } - - INSTANCE.file = file; - INSTANCE.save(); + public Config() { + super(GamePaths.getConfigDirectory().resolve("unicopia.json")); } - private Path file; - @Expose(deserialize = false) private final String speciesWhiteListComment = "A whitelist of races permitted on the server. " + "Races added to this list can be used by anyone, whilst any ones left off are not permitted. " + "An empty list disables whitelisting entirely."; @Expose - private final List speciesWhiteList = Lists.newArrayList(); + private final Set speciesWhiteList = new HashSet<>(); @Expose(deserialize = false) private final String preferredRaceComment = @@ -71,7 +41,7 @@ public class Config { @Expose private boolean ignoreMineLP = false; - public List getSpeciesWhiteList() { + public Set getSpeciesWhiteList() { return speciesWhiteList; } @@ -100,20 +70,4 @@ public class Config { return preferredRace; } - - public void save() { - try { - Files.deleteIfExists(file); - } catch (IOException e1) { - e1.printStackTrace(); - } - - try (JsonWriter writer = new JsonWriter(Files.newBufferedWriter(file))) { - writer.setIndent(" "); - - GSON.toJson(this, Config.class, writer); - } catch (IOException e) { - e.printStackTrace(); - } - } } diff --git a/src/main/java/com/minelittlepony/unicopia/InteractionManager.java b/src/main/java/com/minelittlepony/unicopia/InteractionManager.java index b64fb708..c18ac647 100644 --- a/src/main/java/com/minelittlepony/unicopia/InteractionManager.java +++ b/src/main/java/com/minelittlepony/unicopia/InteractionManager.java @@ -26,6 +26,10 @@ public class InteractionManager { return 0; } + public Race getPreferredRace() { + return Unicopia.getConfig().getPrefferedRace(); + } + /** * Side-independent method to create a new player. * diff --git a/src/main/java/com/minelittlepony/unicopia/Race.java b/src/main/java/com/minelittlepony/unicopia/Race.java index 0541b838..57b44e26 100644 --- a/src/main/java/com/minelittlepony/unicopia/Race.java +++ b/src/main/java/com/minelittlepony/unicopia/Race.java @@ -2,6 +2,7 @@ package com.minelittlepony.unicopia; import java.util.Arrays; import java.util.Map; +import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; @@ -71,7 +72,11 @@ public enum Race { return false; } - return isDefault() || Config.getInstance().getSpeciesWhiteList().isEmpty() || Config.getInstance().getSpeciesWhiteList().contains(this); + Set whitelist = Unicopia.getConfig().getSpeciesWhiteList(); + + return isDefault() + || whitelist.isEmpty() + || whitelist.contains(this); } public Race validate(PlayerEntity sender) { diff --git a/src/main/java/com/minelittlepony/unicopia/USounds.java b/src/main/java/com/minelittlepony/unicopia/USounds.java index 34c61b8f..8ba3a41e 100644 --- a/src/main/java/com/minelittlepony/unicopia/USounds.java +++ b/src/main/java/com/minelittlepony/unicopia/USounds.java @@ -21,7 +21,7 @@ public interface USounds { SoundEvent RECORD_FUNK = register("record.funk"); static SoundEvent register(String name) { - Identifier id = new Identifier(Unicopia.MODID, name); + Identifier id = new Identifier("unicopia", name); return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(id)); } diff --git a/src/main/java/com/minelittlepony/unicopia/UTags.java b/src/main/java/com/minelittlepony/unicopia/UTags.java index 409f71e7..d5815ff8 100644 --- a/src/main/java/com/minelittlepony/unicopia/UTags.java +++ b/src/main/java/com/minelittlepony/unicopia/UTags.java @@ -6,8 +6,8 @@ import net.minecraft.tag.Tag; import net.minecraft.util.Identifier; public interface UTags { - Tag CURSED_ARTEFACTS = TagRegistry.item(new Identifier(Unicopia.MODID, "cursed_artefacts")); - Tag HAMMERPACE_IMMUNE = TagRegistry.item(new Identifier(Unicopia.MODID, "hammerspace_immune")); + Tag CURSED_ARTEFACTS = TagRegistry.item(new Identifier("unicopia", "cursed_artefacts")); + Tag HAMMERPACE_IMMUNE = TagRegistry.item(new Identifier("unicopia", "hammerspace_immune")); static void bootstrap() { } } diff --git a/src/main/java/com/minelittlepony/unicopia/Unicopia.java b/src/main/java/com/minelittlepony/unicopia/Unicopia.java index 37338bf8..c06e6340 100644 --- a/src/main/java/com/minelittlepony/unicopia/Unicopia.java +++ b/src/main/java/com/minelittlepony/unicopia/Unicopia.java @@ -7,7 +7,6 @@ import net.minecraft.resource.ResourceType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import com.minelittlepony.common.util.GamePaths; import com.minelittlepony.unicopia.ability.Abilities; import com.minelittlepony.unicopia.advancement.BOHDeathCriterion; import com.minelittlepony.unicopia.block.UBlocks; @@ -22,13 +21,24 @@ import com.minelittlepony.unicopia.network.Channel; import com.minelittlepony.unicopia.structure.UStructures; public class Unicopia implements ModInitializer { - public static final String MODID = "unicopia"; + public static final Logger LOGGER = LogManager.getLogger(); + private static Config CONFIG; + + public static Config getConfig() { + if (CONFIG == null) { + CONFIG = new Config(); + } + return CONFIG; + } + + public Unicopia() { + getConfig(); + } + @Override public void onInitialize() { - Config.init(GamePaths.getConfigDirectory()); - Channel.bootstrap(); UTags.bootstrap(); Commands.bootstrap(); @@ -41,6 +51,6 @@ public class Unicopia implements ModInitializer { CriterionsRegistry.register(BOHDeathCriterion.INSTANCE); ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(Pages.instance()); - ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(AffineIngredients.instance()); + ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(AffineIngredients.getInstance()); } } diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 7d49d9c8..aa9ae4c7 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -1,7 +1,6 @@ package com.minelittlepony.unicopia.block; import com.minelittlepony.unicopia.TreeType; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.gas.CloudAnvilBlock; import com.minelittlepony.unicopia.gas.CloudBlock; import com.minelittlepony.unicopia.gas.CloudDoorBlock; @@ -72,7 +71,7 @@ public interface UBlocks { static T register(T block, String name) { - return Registry.BLOCK.add(new Identifier(Unicopia.MODID, name), block); + return Registry.BLOCK.add(new Identifier("unicopia", name), block); } static void bootstrap() { } diff --git a/src/main/java/com/minelittlepony/unicopia/client/ClientInteractionManager.java b/src/main/java/com/minelittlepony/unicopia/client/ClientInteractionManager.java new file mode 100644 index 00000000..194855fb --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/client/ClientInteractionManager.java @@ -0,0 +1,60 @@ +package com.minelittlepony.unicopia.client; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import com.minelittlepony.unicopia.InteractionManager; +import com.minelittlepony.unicopia.Race; +import com.minelittlepony.unicopia.Unicopia; +import com.minelittlepony.unicopia.entity.player.Pony; +import com.minelittlepony.unicopia.util.dummy.DummyClientPlayerEntity; +import com.mojang.authlib.GameProfile; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.world.ClientWorld; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.PlayerEntity; + +public class ClientInteractionManager extends InteractionManager { + + @Override + @Nonnull + public PlayerEntity createPlayer(Entity observer, GameProfile profile) { + if (observer.world instanceof ClientWorld) { + return new DummyClientPlayerEntity((ClientWorld)observer.world, profile); + } + return super.createPlayer(observer, profile); + } + + @Override + public boolean isClientPlayer(@Nullable PlayerEntity player) { + if (MinecraftClient.getInstance().player == player) { + return true; + } + + if (MinecraftClient.getInstance().player == null || player == null) { + return false; + } + + return Pony.equal(MinecraftClient.getInstance().player, player); + } + + @Override + public Race getPreferredRace() { + if (!Unicopia.getConfig().ignoresMineLittlePony() + && MinecraftClient.getInstance().player != null) { + Race race = MineLPConnector.getPlayerPonyRace(); + + if (!race.isDefault()) { + return race; + } + } + + return Unicopia.getConfig().getPrefferedRace(); + } + + @Override + public int getViewMode() { + return MinecraftClient.getInstance().options.perspective; + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/client/KeyBindingsHandler.java b/src/main/java/com/minelittlepony/unicopia/client/KeyBindingsHandler.java index ccab568d..e7a33c46 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/KeyBindingsHandler.java +++ b/src/main/java/com/minelittlepony/unicopia/client/KeyBindingsHandler.java @@ -4,7 +4,6 @@ import java.util.HashSet; import java.util.Set; import com.minelittlepony.unicopia.KeyBind; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.ability.Abilities; import com.minelittlepony.unicopia.entity.player.Pony; @@ -15,7 +14,6 @@ import net.minecraft.client.options.KeyBinding; import net.minecraft.client.util.InputUtil; import net.minecraft.util.Identifier; - class KeyBindingsHandler { private final MinecraftClient client = MinecraftClient.getInstance(); @@ -27,7 +25,7 @@ class KeyBindingsHandler { public void addKeybind(KeyBind p) { KeyBindingRegistry.INSTANCE.addCategory(p.getKeyCategory()); - FabricKeyBinding b = FabricKeyBinding.Builder.create(new Identifier(Unicopia.MODID, p.getKeyName()), InputUtil.Type.KEYSYM, p.getKeyCode(), p.getKeyCategory()).build(); + FabricKeyBinding b = FabricKeyBinding.Builder.create(new Identifier("unicopia", p.getKeyName()), InputUtil.Type.KEYSYM, p.getKeyCode(), p.getKeyCategory()).build(); KeyBindingRegistry.INSTANCE.register(b); bindings.add(b); diff --git a/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java b/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java index 457366cd..cf17c668 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java +++ b/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java @@ -2,25 +2,20 @@ package com.minelittlepony.unicopia.client; import static com.minelittlepony.unicopia.EquinePredicates.MAGI; -import javax.annotation.Nonnull; import javax.annotation.Nullable; import com.minelittlepony.common.event.ClientReadyCallback; -import com.minelittlepony.unicopia.Config; import com.minelittlepony.unicopia.InteractionManager; import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.ability.Abilities; import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.container.SpellbookResultSlot; import com.minelittlepony.unicopia.ducks.Colourful; -import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.magic.spell.SpellRegistry; import com.minelittlepony.unicopia.mixin.client.DefaultTexturesRegistry; import com.minelittlepony.unicopia.network.Channel; import com.minelittlepony.unicopia.network.MsgRequestCapabilities; -import com.minelittlepony.unicopia.util.dummy.DummyClientPlayerEntity; -import com.mojang.authlib.GameProfile; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry; import net.fabricmc.fabric.api.event.client.ClientTickCallback; @@ -31,31 +26,21 @@ import net.minecraft.client.color.world.BiomeColors; import net.minecraft.client.color.world.GrassColors; import net.minecraft.client.texture.SpriteAtlasTexture; import net.minecraft.client.util.SpriteIdentifier; -import net.minecraft.client.world.ClientWorld; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockRenderView; -public class UnicopiaClient extends InteractionManager implements ClientModInitializer { +public class UnicopiaClient implements ClientModInitializer { private final KeyBindingsHandler keyboard = new KeyBindingsHandler(); - /** - * The race preferred by the client - as determined by mine little pony. - * Human if minelp was not installed. - * - * This is not neccessarily the _actual_ race used for the player, - * as the server may not allow certain race types, or the player may override - * this option in-game themselves. - */ - private static Race clientPlayerRace = getclientPlayerRace(); + private Race lastPreferredRace = InteractionManager.instance().getPreferredRace(); @Override public void onInitializeClient() { - clientPlayerRace = getclientPlayerRace(); - InteractionManager.INSTANCE = this; + lastPreferredRace = InteractionManager.instance().getPreferredRace(); + InteractionManager.INSTANCE = new ClientInteractionManager(); URenderers.bootstrap(); @@ -80,58 +65,18 @@ public class UnicopiaClient extends InteractionManager implements ClientModIniti PlayerEntity player = client.player; if (player != null && !player.removed) { - Race newRace = getclientPlayerRace(); + Race newRace = InteractionManager.instance().getPreferredRace(); - if (newRace != clientPlayerRace) { - clientPlayerRace = newRace; + if (newRace != lastPreferredRace) { + lastPreferredRace = newRace; - Channel.REQUEST_CAPABILITIES.send(new MsgRequestCapabilities(player, clientPlayerRace)); + Channel.REQUEST_CAPABILITIES.send(new MsgRequestCapabilities(lastPreferredRace)); } } keyboard.onKeyInput(); } - @Override - @Nonnull - public PlayerEntity createPlayer(Entity observer, GameProfile profile) { - if (observer.world instanceof ClientWorld) { - return new DummyClientPlayerEntity((ClientWorld)observer.world, profile); - } - return super.createPlayer(observer, profile); - } - - @Override - public boolean isClientPlayer(@Nullable PlayerEntity player) { - if (MinecraftClient.getInstance().player == player) { - return true; - } - - if (MinecraftClient.getInstance().player == null || player == null) { - return false; - } - - return Pony.equal(MinecraftClient.getInstance().player, player); - } - - @Override - public int getViewMode() { - return MinecraftClient.getInstance().options.perspective; - } - - private static Race getclientPlayerRace() { - if (!Config.getInstance().ignoresMineLittlePony() - && MinecraftClient.getInstance().player != null) { - Race race = MineLPConnector.getPlayerPonyRace(); - - if (!race.isDefault()) { - return race; - } - } - - return Config.getInstance().getPrefferedRace(); - } - private static int getLeavesColor(BlockState state, @Nullable BlockRenderView world, @Nullable BlockPos pos, int tint) { Block block = state.getBlock(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java index d67ddf38..c42b0caa 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java @@ -56,7 +56,7 @@ public class MagicParticle extends SpriteBillboardParticle { @Override public ParticleTextureSheet getType() { - return ParticleTextureSheet.PARTICLE_SHEET_OPAQUE; + return ParticleTextureSheet.TERRAIN_SHEET; } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/CuccoonEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/CuccoonEntityRenderer.java index 1373575c..f5609dd5 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/CuccoonEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/CuccoonEntityRenderer.java @@ -1,7 +1,6 @@ package com.minelittlepony.unicopia.client.render; import com.minelittlepony.unicopia.InteractionManager; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.client.render.model.CuccoonEntityModel; import com.minelittlepony.unicopia.entity.CuccoonEntity; import com.mojang.blaze3d.systems.RenderSystem; @@ -17,7 +16,7 @@ import net.minecraft.util.Identifier; public class CuccoonEntityRenderer extends LivingEntityRenderer { - private static final Identifier TEXTURE = new Identifier(Unicopia.MODID, "textures/entity/cuccoon.png"); + private static final Identifier TEXTURE = new Identifier("unicopia", "textures/entity/cuccoon.png"); public CuccoonEntityRenderer(EntityRenderDispatcher manager, EntityRendererRegistry.Context context) { super(manager, new CuccoonEntityModel(), 1); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/SpearEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/SpearEntityRenderer.java index 6d11db4e..2b471f99 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/SpearEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/SpearEntityRenderer.java @@ -1,6 +1,5 @@ package com.minelittlepony.unicopia.client.render; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.entity.SpearEntity; import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; @@ -9,7 +8,7 @@ import net.minecraft.client.render.entity.ProjectileEntityRenderer; import net.minecraft.util.Identifier; public class SpearEntityRenderer extends ProjectileEntityRenderer { - public static final Identifier TEXTURE = new Identifier(Unicopia.MODID, "textures/entity/projectiles/spear.png"); + public static final Identifier TEXTURE = new Identifier("unicopia", "textures/entity/projectiles/spear.png"); public SpearEntityRenderer(EntityRenderDispatcher manager, EntityRendererRegistry.Context context) { super(manager); diff --git a/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java b/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java index b2e415b3..74e1a931 100644 --- a/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java +++ b/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java @@ -2,8 +2,8 @@ package com.minelittlepony.unicopia.command; import java.util.function.Function; -import com.minelittlepony.unicopia.Config; import com.minelittlepony.unicopia.Race; +import com.minelittlepony.unicopia.Unicopia; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.builder.LiteralArgumentBuilder; @@ -22,9 +22,9 @@ class RacelistCommand { builder.then(CommandManager.literal("allow") .then(CommandManager.argument("race", new RaceArgument()) .executes(context -> toggle(context.getSource(), context.getSource().getPlayer(), context.getArgument("race", Race.class), "allowed", race -> { - boolean result = Config.getInstance().getSpeciesWhiteList().remove(race); + boolean result = Unicopia.getConfig().getSpeciesWhiteList().remove(race); - Config.getInstance().save(); + Unicopia.getConfig().save(); return result; })) @@ -32,9 +32,9 @@ class RacelistCommand { builder.then(CommandManager.literal("disallow") .then(CommandManager.argument("race", new RaceArgument()) .executes(context -> toggle(context.getSource(), context.getSource().getPlayer(), context.getArgument("race", Race.class), "disallowed", race -> { - boolean result = Config.getInstance().getSpeciesWhiteList().add(race); + boolean result = Unicopia.getConfig().getSpeciesWhiteList().add(race); - Config.getInstance().save(); + Unicopia.getConfig().save(); return result; })) diff --git a/src/main/java/com/minelittlepony/unicopia/container/SpellbookResultSlot.java b/src/main/java/com/minelittlepony/unicopia/container/SpellbookResultSlot.java index cfce1cca..7427a32c 100644 --- a/src/main/java/com/minelittlepony/unicopia/container/SpellbookResultSlot.java +++ b/src/main/java/com/minelittlepony/unicopia/container/SpellbookResultSlot.java @@ -17,7 +17,7 @@ import net.minecraft.util.DefaultedList; import net.minecraft.util.Identifier; public class SpellbookResultSlot extends SpellBookContainer.SpellbookSlot { - public static final Identifier EMPTY_GEM_SLOT = new Identifier("unicopia", "empty_slot_gem"); + public static final Identifier EMPTY_GEM_SLOT = new Identifier("unicopia", "item/empty_gem_slot"); private final Pony player; private final SpellBookInventory craftMatrix; diff --git a/src/main/java/com/minelittlepony/unicopia/container/UContainers.java b/src/main/java/com/minelittlepony/unicopia/container/UContainers.java index 2d6f4696..5a40e7a0 100644 --- a/src/main/java/com/minelittlepony/unicopia/container/UContainers.java +++ b/src/main/java/com/minelittlepony/unicopia/container/UContainers.java @@ -1,17 +1,20 @@ package com.minelittlepony.unicopia.container; -import com.minelittlepony.unicopia.Unicopia; - +import net.fabricmc.fabric.api.container.ContainerFactory; import net.fabricmc.fabric.api.container.ContainerProviderRegistry; +import net.minecraft.container.Container; import net.minecraft.util.Identifier; public interface UContainers { - Identifier BAG_OF_HOLDING = new Identifier(Unicopia.MODID, "bag_of_holding"); - Identifier SPELL_BOOK = new Identifier(Unicopia.MODID, "spell_book"); + Identifier BAG_OF_HOLDING = register("bag_of_holding", BagOfHoldingContainer::new); + Identifier SPELL_BOOK = register("spell_book", SpellBookContainer::new); - static void bootstrap() { - ContainerProviderRegistry.INSTANCE.registerFactory(BAG_OF_HOLDING, BagOfHoldingContainer::new); - ContainerProviderRegistry.INSTANCE.registerFactory(SPELL_BOOK, SpellBookContainer::new); + static Identifier register(String name, ContainerFactory factory) { + Identifier id = new Identifier("unicopia", name); + ContainerProviderRegistry.INSTANCE.registerFactory(BAG_OF_HOLDING, factory); + return id; } + + static void bootstrap() { } } diff --git a/src/main/java/com/minelittlepony/unicopia/enchanting/Pages.java b/src/main/java/com/minelittlepony/unicopia/enchanting/Pages.java index 0ab3f03b..f54a4d89 100644 --- a/src/main/java/com/minelittlepony/unicopia/enchanting/Pages.java +++ b/src/main/java/com/minelittlepony/unicopia/enchanting/Pages.java @@ -13,8 +13,6 @@ import com.google.common.collect.Maps; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; -import com.minelittlepony.unicopia.Unicopia; - import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener; import net.minecraft.resource.JsonDataLoader; import net.minecraft.resource.ResourceManager; @@ -23,7 +21,7 @@ import net.minecraft.util.Util; import net.minecraft.util.profiler.Profiler; public class Pages extends JsonDataLoader implements IdentifiableResourceReloadListener { - private static final Identifier ID = new Identifier(Unicopia.MODID, "pages"); + private static final Identifier ID = new Identifier("unicopia", "pages"); private static final Gson GSON = new GsonBuilder() .setPrettyPrinting() .disableHtmlEscaping() diff --git a/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredient.java b/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredient.java index 0cc19193..a75e72c5 100644 --- a/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredient.java +++ b/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredient.java @@ -37,17 +37,17 @@ class AffineIngredient implements SpellIngredient { @Override public ItemStack getStack() { - return AffineIngredients.instance().getIngredient(res).getStack(); + return AffineIngredients.getInstance().getIngredient(res).getStack(); } @Override public Stream getStacks() { - return AffineIngredients.instance().getIngredient(res).getStacks(); + return AffineIngredients.getInstance().getIngredient(res).getStacks(); } @Override public boolean matches(ItemStack other, int materialMult) { - return AffineIngredients.instance().getIngredient(res).matches(other, materialMult); + return AffineIngredients.getInstance().getIngredient(res).matches(other, materialMult); } @Nonnull diff --git a/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredients.java b/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredients.java index 62b226c3..7e246f17 100644 --- a/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredients.java +++ b/src/main/java/com/minelittlepony/unicopia/enchanting/recipe/AffineIngredients.java @@ -5,8 +5,6 @@ import com.google.common.collect.Maps; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; -import com.minelittlepony.unicopia.Unicopia; - import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener; import net.minecraft.resource.JsonDataLoader; import net.minecraft.resource.ResourceManager; @@ -14,16 +12,16 @@ import net.minecraft.util.Identifier; import net.minecraft.util.profiler.Profiler; public class AffineIngredients extends JsonDataLoader implements IdentifiableResourceReloadListener { - private static final Identifier ID = new Identifier(Unicopia.MODID, "ingredients"); + private static final Identifier ID = new Identifier("unicopia", "ingredients"); private static final Gson GSON = new GsonBuilder() .setPrettyPrinting() .disableHtmlEscaping() .create(); - private static final AffineIngredients instance = new AffineIngredients(); + private static final AffineIngredients INSTANCE = new AffineIngredients(); - public static AffineIngredients instance() { - return instance; + public static AffineIngredients getInstance() { + return INSTANCE; } private final Map storedIngredients = Maps.newHashMap(); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java index 28e14385..3b70fa86 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java @@ -4,8 +4,6 @@ import java.util.Random; import javax.annotation.Nullable; -import com.minelittlepony.unicopia.Unicopia; - import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityCategory; @@ -227,7 +225,7 @@ public class ButterflyEntity extends AmbientEntity { WHITE_MONARCH, BRIMSTONE; - private final Identifier skin = new Identifier(Unicopia.MODID, "textures/entity/butterfly/" + name().toLowerCase() + ".png"); + private final Identifier skin = new Identifier("unicopia", "textures/entity/butterfly/" + name().toLowerCase() + ".png"); public Identifier getSkin() { return skin; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java b/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java index 5379081f..593c3875 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java @@ -2,8 +2,6 @@ package com.minelittlepony.unicopia.entity; import java.util.List; -import com.minelittlepony.unicopia.Unicopia; - import net.fabricmc.fabric.api.entity.FabricEntityTypeBuilder; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityCategory; @@ -37,7 +35,7 @@ public interface UEntities { EntityType THROWN_SPEAR = register("thrown_spear", FabricEntityTypeBuilder.create(EntityCategory.MISC, SpearEntity::new).trackable(100, 10)); static EntityType register(String name, FabricEntityTypeBuilder builder) { - return Registry.register(Registry.ENTITY_TYPE, new Identifier(Unicopia.MODID, name), builder.build()); + return Registry.register(Registry.ENTITY_TYPE, new Identifier("unicopia", name), builder.build()); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/item/UEffects.java b/src/main/java/com/minelittlepony/unicopia/item/UEffects.java index 5611e584..382302d1 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UEffects.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UEffects.java @@ -1,6 +1,5 @@ package com.minelittlepony.unicopia.item; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.util.CustomStatusEffect; import com.minelittlepony.unicopia.util.MagicalDamageSource; @@ -12,7 +11,7 @@ import net.minecraft.util.Identifier; public interface UEffects { - StatusEffect FOOD_POISONING = new CustomStatusEffect(new Identifier(Unicopia.MODID, "food_poisoning"), StatusEffectType.BENEFICIAL, 3484199) + StatusEffect FOOD_POISONING = new CustomStatusEffect(new Identifier("unicopia", "food_poisoning"), StatusEffectType.BENEFICIAL, 3484199) .setSilent() .direct((p, e, i) -> { StatusEffectInstance nausea = e.getStatusEffect(StatusEffects.NAUSEA); diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index 3768df22..22db6390 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -3,7 +3,6 @@ package com.minelittlepony.unicopia.item; import static com.minelittlepony.unicopia.EquinePredicates.*; import com.minelittlepony.unicopia.USounds; -import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.entity.UEntities; import com.minelittlepony.unicopia.magic.spell.ScorchSpell; @@ -71,7 +70,7 @@ public interface UItems { Item SLIME_DROP = register(new BlockItem(UBlocks.SLIME_DROP, new Item.Settings().group(ItemGroup.MATERIALS)), "slime_drop"); Item SLIME_LAYER = register(new BlockItem(UBlocks.SLIME_LAYER, new Item.Settings().group(ItemGroup.DECORATIONS)), "slime_layer"); - Item MISTED_DOOR = register(new TallBlockItem(UBlocks.MISTED_GLASS_DOOR, new Item.Settings().group(ItemGroup.REDSTONE)), "misted_door"); + Item MISTED_GLASS_DOOR = register(new TallBlockItem(UBlocks.MISTED_GLASS_DOOR, new Item.Settings().group(ItemGroup.REDSTONE)), "misted_glass_door"); Item LIBRARY_DOOR = register(new TallBlockItem(UBlocks.LIBRARY_DOOR, new Item.Settings().group(ItemGroup.REDSTONE)), "library_door"); Item BAKERY_DOOR = register(new TallBlockItem(UBlocks.BAKERY_DOOR, new Item.Settings().group(ItemGroup.REDSTONE)), "bakery_door"); Item DIAMOND_DOOR = register(new TallBlockItem(UBlocks.DIAMOND_DOOR, new Item.Settings().group(ItemGroup.REDSTONE)), "diamond_door"); @@ -154,7 +153,7 @@ public interface UItems { Item BUTTERFLY_SPAWN_EGG = register(new SpawnEggItem(UEntities.BUTTERFLY, 0x222200, 0xaaeeff, new Item.Settings().group(ItemGroup.MISC)), "butterfly_spawn_egg"); static T register(T item, String name) { - return Registry.ITEM.add(new Identifier(Unicopia.MODID, name), item); + return Registry.ITEM.add(new Identifier("unicopia", name), item); } static MusicDiscItem createRecord(SoundEvent sound) { diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerAbility.java b/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerAbility.java index 6b7d58fd..298d04db 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerAbility.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerAbility.java @@ -19,7 +19,7 @@ public class MsgPlayerAbility implements Channel.Packet { private final String abilityJson; - public MsgPlayerAbility(Ability power, Ability.IData data) { + MsgPlayerAbility(Ability power, Ability.IData data) { powerIdentifier = power.getKeyName(); abilityJson = gson.toJson(data, power.getPackageType()); } diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerCapabilities.java b/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerCapabilities.java index 4c72f516..9615e7b2 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerCapabilities.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgPlayerCapabilities.java @@ -20,7 +20,7 @@ public class MsgPlayerCapabilities implements Channel.Packet { private final CompoundTag compoundTag; - public MsgPlayerCapabilities(PacketByteBuf buffer) { + MsgPlayerCapabilities(PacketByteBuf buffer) { newRace = Race.values()[buffer.readInt()]; try (InputStream in = new ByteBufInputStream(buffer)) { compoundTag = NbtIo.readCompressed(in); diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgRequestCapabilities.java b/src/main/java/com/minelittlepony/unicopia/network/MsgRequestCapabilities.java index 41efa53b..f1bf8020 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgRequestCapabilities.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgRequestCapabilities.java @@ -4,18 +4,17 @@ import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.entity.player.Pony; import net.fabricmc.fabric.api.network.PacketContext; -import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.PacketByteBuf; public class MsgRequestCapabilities implements Channel.Packet { private final Race race; - public MsgRequestCapabilities(PacketByteBuf buffer) { + MsgRequestCapabilities(PacketByteBuf buffer) { race = Race.values()[buffer.readInt()]; } - public MsgRequestCapabilities(PlayerEntity player, Race preferredRace) { + public MsgRequestCapabilities(Race preferredRace) { race = preferredRace; } @@ -34,5 +33,4 @@ public class MsgRequestCapabilities implements Channel.Packet { Channel.PLAYER_CAPABILITIES.send(context.getPlayer(), new MsgPlayerCapabilities(true, player)); } - } diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgSpawnRainbow.java b/src/main/java/com/minelittlepony/unicopia/network/MsgSpawnRainbow.java index 3843e8a5..9bfd58d2 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgSpawnRainbow.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgSpawnRainbow.java @@ -22,7 +22,7 @@ public class MsgSpawnRainbow implements Channel.Packet { z = entity.getZ(); } - public MsgSpawnRainbow(PacketByteBuf buffer) { + MsgSpawnRainbow(PacketByteBuf buffer) { id = buffer.readVarInt(); x = buffer.readDouble(); y = buffer.readDouble(); diff --git a/src/main/java/com/minelittlepony/unicopia/structure/CloudDungeonFeature.java b/src/main/java/com/minelittlepony/unicopia/structure/CloudDungeonFeature.java index f0fec1a0..a5a4b765 100644 --- a/src/main/java/com/minelittlepony/unicopia/structure/CloudDungeonFeature.java +++ b/src/main/java/com/minelittlepony/unicopia/structure/CloudDungeonFeature.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.Random; import java.util.function.Function; -import com.minelittlepony.unicopia.Unicopia; import com.mojang.datafixers.Dynamic; import net.minecraft.nbt.CompoundTag; @@ -33,9 +32,9 @@ import net.minecraft.world.gen.feature.StructureFeature; class CloudDungeonFeature extends AbstractTempleFeature { private static final BlockPos POS = new BlockPos(4, 0, 15); private static final Identifier[] VARIANTS = new Identifier[] { - new Identifier(Unicopia.MODID, "cloud/temple_small"), - new Identifier(Unicopia.MODID, "cloud/house_small"), - new Identifier(Unicopia.MODID, "cloud/island_small") + new Identifier("unicopia", "cloud/temple_small"), + new Identifier("unicopia", "cloud/house_small"), + new Identifier("unicopia", "cloud/island_small") }; public CloudDungeonFeature(Function, ? extends DefaultFeatureConfig> func) { diff --git a/src/main/java/com/minelittlepony/unicopia/structure/RuinFeature.java b/src/main/java/com/minelittlepony/unicopia/structure/RuinFeature.java index 04fd74c8..f50e270e 100644 --- a/src/main/java/com/minelittlepony/unicopia/structure/RuinFeature.java +++ b/src/main/java/com/minelittlepony/unicopia/structure/RuinFeature.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.Random; import java.util.function.Function; -import com.minelittlepony.unicopia.Unicopia; import com.mojang.datafixers.Dynamic; import net.minecraft.nbt.CompoundTag; @@ -33,11 +32,11 @@ import net.minecraft.world.gen.feature.StructureFeature; class RuinFeature extends AbstractTempleFeature { private static final BlockPos POS = new BlockPos(4, 0, 15); private static final Identifier[] VARIANTS = new Identifier[] { - new Identifier(Unicopia.MODID, "ground/tower"), - new Identifier(Unicopia.MODID, "ground/temple_with_book"), - new Identifier(Unicopia.MODID, "ground/temple_without_book"), - new Identifier(Unicopia.MODID, "ground/wizard_tower_red"), - new Identifier(Unicopia.MODID, "ground/wizard_tower_blue") + new Identifier("unicopia", "ground/tower"), + new Identifier("unicopia", "ground/temple_with_book"), + new Identifier("unicopia", "ground/temple_without_book"), + new Identifier("unicopia", "ground/wizard_tower_red"), + new Identifier("unicopia", "ground/wizard_tower_blue") }; public RuinFeature(Function, ? extends DefaultFeatureConfig> func) { diff --git a/src/main/java/com/minelittlepony/unicopia/structure/UStructures.java b/src/main/java/com/minelittlepony/unicopia/structure/UStructures.java index 43f32439..1fa1ade1 100644 --- a/src/main/java/com/minelittlepony/unicopia/structure/UStructures.java +++ b/src/main/java/com/minelittlepony/unicopia/structure/UStructures.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.structure; -import com.minelittlepony.unicopia.Unicopia; - import net.minecraft.structure.StructurePieceType; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -18,11 +16,11 @@ public interface UStructures { StructureFeature RUIN = feature("ruin", new RuinFeature(DefaultFeatureConfig::deserialize)); static StructurePieceType part(String id, StructurePieceType type) { - return Registry.register(Registry.STRUCTURE_PIECE, new Identifier(Unicopia.MODID, id), type); + return Registry.register(Registry.STRUCTURE_PIECE, new Identifier("unicopia", id), type); } static > F feature(String id, F feature) { - return Registry.register(Registry.FEATURE, new Identifier(Unicopia.MODID, id), feature); + return Registry.register(Registry.FEATURE, new Identifier("unicopia", id), feature); } static void bootstrap() { }