Add utility for creating identifiers with the mod's namespace

This commit is contained in:
Sollace 2022-08-27 15:14:00 +02:00
parent 09e0bcd7b2
commit b1a979eb24
37 changed files with 105 additions and 84 deletions

View file

@ -72,7 +72,7 @@ public interface USounds {
SoundEvent RECORD_FUNK = register("music_disc.funk"); SoundEvent RECORD_FUNK = register("music_disc.funk");
static SoundEvent register(String name) { static SoundEvent register(String name) {
Identifier id = new Identifier("unicopia", name); Identifier id = Unicopia.id(name);
return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(id)); return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(id));
} }

View file

@ -6,7 +6,6 @@ import net.minecraft.block.Block;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.tag.TagKey; import net.minecraft.tag.TagKey;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UTags { public interface UTags {
@ -28,15 +27,15 @@ public interface UTags {
TagKey<EntityType<?>> TRANSFORMABLE_ENTITIES = entity("transformable"); TagKey<EntityType<?>> TRANSFORMABLE_ENTITIES = entity("transformable");
static TagKey<Item> item(String name) { static TagKey<Item> item(String name) {
return TagKey.of(Registry.ITEM_KEY, new Identifier("unicopia", name)); return TagKey.of(Registry.ITEM_KEY, Unicopia.id(name));
} }
static TagKey<Block> block(String name) { static TagKey<Block> block(String name) {
return TagKey.of(Registry.BLOCK_KEY, new Identifier("unicopia", name)); return TagKey.of(Registry.BLOCK_KEY, Unicopia.id(name));
} }
static TagKey<EntityType<?>> entity(String name) { static TagKey<EntityType<?>> entity(String name) {
return TagKey.of(Registry.ENTITY_TYPE_KEY, new Identifier("unicopia", name)); return TagKey.of(Registry.ENTITY_TYPE_KEY, Unicopia.id(name));
} }
static void bootstrap() { static void bootstrap() {

View file

@ -8,6 +8,7 @@ import java.util.Set;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.util.Registries; import com.minelittlepony.unicopia.util.Registries;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
@ -15,7 +16,7 @@ import net.minecraft.util.Util;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface Abilities { public interface Abilities {
Registry<Ability<?>> REGISTRY = Registries.createSimple(new Identifier("unicopia", "abilities")); Registry<Ability<?>> REGISTRY = Registries.createSimple(Unicopia.id("abilities"));
Map<AbilitySlot, Set<Ability<?>>> BY_SLOT = new EnumMap<>(AbilitySlot.class); Map<AbilitySlot, Set<Ability<?>>> BY_SLOT = new EnumMap<>(AbilitySlot.class);
BiFunction<AbilitySlot, Race, List<Ability<?>>> BY_SLOT_AND_RACE = Util.memoize((slot, race) -> { BiFunction<AbilitySlot, Race, List<Ability<?>>> BY_SLOT_AND_RACE = Util.memoize((slot, race) -> {
return BY_SLOT.computeIfAbsent(slot, s -> new LinkedHashSet<>()) return BY_SLOT.computeIfAbsent(slot, s -> new LinkedHashSet<>())
@ -52,7 +53,7 @@ public interface Abilities {
Ability<?> EEEE = register(new BatEeeeAbility(), "eee", AbilitySlot.TERTIARY); Ability<?> EEEE = register(new BatEeeeAbility(), "eee", AbilitySlot.TERTIARY);
static <T extends Ability<?>> T register(T power, String name, AbilitySlot slot) { static <T extends Ability<?>> T register(T power, String name, AbilitySlot slot) {
Identifier id = new Identifier("unicopia", name); Identifier id = Unicopia.id(name);
BY_SLOT.computeIfAbsent(slot, s -> new LinkedHashSet<>()).add(power); BY_SLOT.computeIfAbsent(slot, s -> new LinkedHashSet<>()).add(power);
return Registry.register(REGISTRY, id, power); return Registry.register(REGISTRY, id, power);
} }

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.ability.data.tree; package com.minelittlepony.unicopia.ability.data.tree;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.util.PosHelper; import com.minelittlepony.unicopia.util.PosHelper;
import com.minelittlepony.unicopia.util.Weighted; import com.minelittlepony.unicopia.util.Weighted;
@ -11,14 +12,13 @@ import java.util.function.Supplier;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction; import net.minecraft.util.math.Direction;
import net.minecraft.world.World; import net.minecraft.world.World;
public interface TreeType { public interface TreeType {
TreeType NONE = new TreeTypeImpl( TreeType NONE = new TreeTypeImpl(
new Identifier("unicopia", "none"), Unicopia.id("none"),
false, false,
new Weighted<Supplier<ItemStack>>(), new Weighted<Supplier<ItemStack>>(),
Set.of(), Set.of(),

View file

@ -8,6 +8,7 @@ import java.util.function.Supplier;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonParseException; import com.google.gson.JsonParseException;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.util.PosHelper; import com.minelittlepony.unicopia.util.PosHelper;
import com.minelittlepony.unicopia.util.Resources; import com.minelittlepony.unicopia.util.Resources;
import com.minelittlepony.unicopia.util.Weighted; import com.minelittlepony.unicopia.util.Weighted;
@ -27,7 +28,7 @@ import net.minecraft.util.registry.Registry;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TreeTypeLoader extends JsonDataLoader implements IdentifiableResourceReloadListener { public class TreeTypeLoader extends JsonDataLoader implements IdentifiableResourceReloadListener {
private static final Identifier ID = new Identifier("unicopia", "data/tree_type"); private static final Identifier ID = Unicopia.id("data/tree_type");
public static final TreeTypeLoader INSTANCE = new TreeTypeLoader(); public static final TreeTypeLoader INSTANCE = new TreeTypeLoader();

View file

@ -8,6 +8,7 @@ import java.util.Set;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Affinity; import com.minelittlepony.unicopia.Affinity;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.Affine; import com.minelittlepony.unicopia.ability.magic.Affine;
import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.SpellPredicate; import com.minelittlepony.unicopia.ability.magic.SpellPredicate;
@ -31,10 +32,10 @@ import net.minecraft.util.Util;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public final class SpellType<T extends Spell> implements Affine, SpellPredicate<T> { public final class SpellType<T extends Spell> implements Affine, SpellPredicate<T> {
public static final Identifier EMPTY_ID = new Identifier("unicopia", "none"); public static final Identifier EMPTY_ID = Unicopia.id("none");
public static final SpellType<?> EMPTY_KEY = new SpellType<>(EMPTY_ID, Affinity.NEUTRAL, 0xFFFFFF, false, SpellTraits.EMPTY, (t, c) -> null); public static final SpellType<?> EMPTY_KEY = new SpellType<>(EMPTY_ID, Affinity.NEUTRAL, 0xFFFFFF, false, SpellTraits.EMPTY, (t, c) -> null);
public static final Registry<SpellType<?>> REGISTRY = Registries.createSimple(new Identifier("unicopia", "spells")); public static final Registry<SpellType<?>> REGISTRY = Registries.createSimple(Unicopia.id("spells"));
private static final Map<Affinity, Set<SpellType<?>>> BY_AFFINITY = new EnumMap<>(Affinity.class); private static final Map<Affinity, Set<SpellType<?>>> BY_AFFINITY = new EnumMap<>(Affinity.class);
public static final SpellType<CompoundSpell> COMPOUND_SPELL = register("compound", Affinity.NEUTRAL, 0, false, SpellTraits.EMPTY, CompoundSpell::new); public static final SpellType<CompoundSpell> COMPOUND_SPELL = register("compound", Affinity.NEUTRAL, 0, false, SpellTraits.EMPTY, CompoundSpell::new);
@ -178,7 +179,7 @@ public final class SpellType<T extends Spell> implements Affine, SpellPredicate<
} }
public static <T extends Spell> SpellType<T> register(String name, Affinity affinity, int color, boolean obtainable, SpellTraits traits, Factory<T> factory) { public static <T extends Spell> SpellType<T> register(String name, Affinity affinity, int color, boolean obtainable, SpellTraits traits, Factory<T> factory) {
return register(new Identifier("unicopia", name), affinity, color, obtainable, traits, factory); return register(Unicopia.id(name), affinity, color, obtainable, traits, factory);
} }
public static <T extends Spell> SpellType<T> register(Identifier id, Affinity affinity, int color, boolean obtainable, SpellTraits traits, Factory<T> factory) { public static <T extends Spell> SpellType<T> register(Identifier id, Affinity affinity, int color, boolean obtainable, SpellTraits traits, Factory<T> factory) {

View file

@ -9,6 +9,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import com.minelittlepony.common.client.gui.Tooltip; import com.minelittlepony.common.client.gui.Tooltip;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtElement; import net.minecraft.nbt.NbtElement;
@ -65,8 +66,8 @@ public enum Trait {
private final TraitGroup group; private final TraitGroup group;
Trait(TraitGroup group) { Trait(TraitGroup group) {
this.id = new Identifier("unicopia", name().toLowerCase()); this.id = Unicopia.id(name().toLowerCase());
this.sprite = new Identifier("unicopia", "textures/gui/trait/" + name().toLowerCase() + ".png"); this.sprite = Unicopia.id("textures/gui/trait/" + name().toLowerCase() + ".png");
this.group = group; this.group = group;
} }

View file

@ -31,7 +31,7 @@ import net.minecraft.util.profiler.Profiler;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public class TraitLoader extends SinglePreparationResourceReloader<Multimap<Identifier, TraitLoader.TraitStream>> implements IdentifiableResourceReloadListener { public class TraitLoader extends SinglePreparationResourceReloader<Multimap<Identifier, TraitLoader.TraitStream>> implements IdentifiableResourceReloadListener {
private static final Identifier ID = new Identifier("unicopia", "data/traits"); private static final Identifier ID = Unicopia.id("data/traits");
public static final TraitLoader INSTANCE = new TraitLoader(); public static final TraitLoader INSTANCE = new TraitLoader();

View file

@ -8,6 +8,7 @@ import org.jetbrains.annotations.Nullable;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.minecraft.advancement.criterion.AbstractCriterion; import net.minecraft.advancement.criterion.AbstractCriterion;
@ -22,7 +23,7 @@ import net.minecraft.util.JsonHelper;
public class CustomEventCriterion extends AbstractCriterion<CustomEventCriterion.Conditions> { public class CustomEventCriterion extends AbstractCriterion<CustomEventCriterion.Conditions> {
private static final Identifier ID = new Identifier("unicopia", "custom"); private static final Identifier ID = Unicopia.id("custom");
@Override @Override
public Identifier getId() { public Identifier getId() {

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.advancement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.minecraft.advancement.criterion.AbstractCriterion; import net.minecraft.advancement.criterion.AbstractCriterion;
@ -16,7 +17,7 @@ import net.minecraft.util.JsonHelper;
public class RaceChangeCriterion extends AbstractCriterion<RaceChangeCriterion.Conditions> { public class RaceChangeCriterion extends AbstractCriterion<RaceChangeCriterion.Conditions> {
private static final Identifier ID = new Identifier("unicopia", "player_change_race"); private static final Identifier ID = Unicopia.id("player_change_race");
@Override @Override
public Identifier getId() { public Identifier getId() {

View file

@ -1,12 +1,13 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block;
import com.minelittlepony.unicopia.Unicopia;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricMaterialBuilder; import net.fabricmc.fabric.api.object.builder.v1.block.FabricMaterialBuilder;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.MapColor; import net.minecraft.block.MapColor;
import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UBlocks { public interface UBlocks {
@ -21,7 +22,7 @@ public interface UBlocks {
Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly())); Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly()));
private static <T extends Block> T register(String name, T item) { private static <T extends Block> T register(String name, T item) {
return Registry.register(Registry.BLOCK, new Identifier("unicopia", name), item); return Registry.register(Registry.BLOCK, Unicopia.id(name), item);
} }
static void bootstrap() {} static void bootstrap() {}

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.block.state;
import java.util.function.Predicate; import java.util.function.Predicate;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.block.UBlocks;
import com.minelittlepony.unicopia.util.Registries; import com.minelittlepony.unicopia.util.Registries;
@ -15,11 +16,10 @@ import net.minecraft.block.PlantBlock;
import net.minecraft.block.RedstoneWireBlock; import net.minecraft.block.RedstoneWireBlock;
import net.minecraft.block.SnowBlock; import net.minecraft.block.SnowBlock;
import net.minecraft.tag.BlockTags; import net.minecraft.tag.BlockTags;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public class StateMaps { public class StateMaps {
private static final Registry<BlockStateConverter> REGISTRY = Registries.createSimple(new Identifier("unicopia", "state_map")); private static final Registry<BlockStateConverter> REGISTRY = Registries.createSimple(Unicopia.id("state_map"));
public static final BlockStateConverter SNOW_PILED = register("snow_piled", new BlockStateMap.Builder() public static final BlockStateConverter SNOW_PILED = register("snow_piled", new BlockStateMap.Builder()
.add(StateMapping.cycleProperty(Blocks.SNOW, SnowBlock.LAYERS, 7))); .add(StateMapping.cycleProperty(Blocks.SNOW, SnowBlock.LAYERS, 7)));
@ -82,7 +82,7 @@ public class StateMaps {
.add(StateMapping.build(s -> !s.isOf(Blocks.NETHER_QUARTZ_ORE) && isOre(s), Blocks.NETHER_QUARTZ_ORE, s -> StateMapping.replaceBlock(Blocks.NETHER_QUARTZ_ORE, Blocks.COAL_ORE)))); .add(StateMapping.build(s -> !s.isOf(Blocks.NETHER_QUARTZ_ORE) && isOre(s), Blocks.NETHER_QUARTZ_ORE, s -> StateMapping.replaceBlock(Blocks.NETHER_QUARTZ_ORE, Blocks.COAL_ORE))));
private static <T extends BlockStateConverter> T register(String name, BlockStateMap.Builder value) { private static <T extends BlockStateConverter> T register(String name, BlockStateMap.Builder value) {
return Registry.register(REGISTRY, new Identifier("unicopia", name), value.build()); return Registry.register(REGISTRY, Unicopia.id(name), value.build());
} }
static Predicate<BlockState> isOf(Block block) { static Predicate<BlockState> isOf(Block block) {

View file

@ -23,7 +23,6 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.server.integrated.IntegratedServer; import net.minecraft.server.integrated.IntegratedServer;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.minecraft.util.Formatting; import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
public class LanSettingsScreen extends GameGui { public class LanSettingsScreen extends GameGui {
@ -152,7 +151,7 @@ public class LanSettingsScreen extends GameGui {
.setIcon(new TextureSprite() .setIcon(new TextureSprite()
.setPosition(2, 2) .setPosition(2, 2)
.setSize(16, 16) .setSize(16, 16)
.setTexture(new Identifier("unicopia", "textures/gui/icons.png")) .setTexture(TribeSelectionScreen.ICONS)
.setTextureOffset((16 * ordinal) % 256, (ordinal / 256) * 16) .setTextureOffset((16 * ordinal) % 256, (ordinal / 256) * 16)
) )
.setTooltip(race.getTranslationKey(), 0, 10); .setTooltip(race.getTranslationKey(), 0, 10);

View file

@ -6,6 +6,7 @@ import java.util.Set;
import com.minelittlepony.common.client.gui.GameGui; import com.minelittlepony.common.client.gui.GameGui;
import com.minelittlepony.common.client.gui.element.Label; import com.minelittlepony.common.client.gui.element.Label;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.client.UnicopiaClient; import com.minelittlepony.unicopia.client.UnicopiaClient;
import com.minelittlepony.unicopia.network.Channel; import com.minelittlepony.unicopia.network.Channel;
import com.minelittlepony.unicopia.network.MsgRequestSpeciesChange; import com.minelittlepony.unicopia.network.MsgRequestSpeciesChange;
@ -16,8 +17,8 @@ import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class TribeSelectionScreen extends GameGui implements HidesHud { public class TribeSelectionScreen extends GameGui implements HidesHud {
static final Identifier ICONS = new Identifier("unicopia", "textures/gui/icons.png"); static final Identifier ICONS = Unicopia.id("textures/gui/icons.png");
static final Identifier TEXTURE = new Identifier("unicopia", "textures/gui/tribe_selection.png"); static final Identifier TEXTURE = Unicopia.id("textures/gui/tribe_selection.png");
final Set<Race> allowedRaces; final Set<Race> allowedRaces;

View file

@ -4,8 +4,7 @@ import java.util.List;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.*;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.AbilityDispatcher; import com.minelittlepony.unicopia.ability.AbilityDispatcher;
import com.minelittlepony.unicopia.ability.AbilitySlot; import com.minelittlepony.unicopia.ability.AbilitySlot;
import com.minelittlepony.unicopia.ability.magic.spell.AbstractDisguiseSpell; import com.minelittlepony.unicopia.ability.magic.spell.AbstractDisguiseSpell;
@ -40,7 +39,7 @@ public class UHud extends DrawableHelper {
public static final UHud INSTANCE = new UHud(); public static final UHud INSTANCE = new UHud();
public static final Identifier HUD_TEXTURE = new Identifier("unicopia", "textures/gui/hud.png"); public static final Identifier HUD_TEXTURE = Unicopia.id("textures/gui/hud.png");
public static final int PRIMARY_SLOT_SIZE = 49; public static final int PRIMARY_SLOT_SIZE = 49;

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.client.particle; package com.minelittlepony.unicopia.client.particle;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.particle.OrientedBillboardParticleEffect; import com.minelittlepony.unicopia.particle.OrientedBillboardParticleEffect;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
@ -9,7 +10,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
public class RainboomParticle extends OrientedBillboardParticle { public class RainboomParticle extends OrientedBillboardParticle {
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/particles/rainboom_ring.png"); private static final Identifier TEXTURE = Unicopia.id("textures/particles/rainboom_ring.png");
protected float prevBaseSize = 0; protected float prevBaseSize = 0;
protected float baseSize = 0; protected float baseSize = 0;

View file

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.particle.ParticleHandle.Attachment; import com.minelittlepony.unicopia.particle.ParticleHandle.Attachment;
@ -19,7 +20,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
public class RainbowTrailParticle extends AbstractBillboardParticle implements Attachment { public class RainbowTrailParticle extends AbstractBillboardParticle implements Attachment {
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/particles/rainboom_trail.png"); private static final Identifier TEXTURE = Unicopia.id("textures/particles/rainboom_trail.png");
private final List<Segment> segments = new ArrayList<>(); private final List<Segment> segments = new ArrayList<>();

View file

@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.client.particle;
import java.util.Optional; import java.util.Optional;
import com.minelittlepony.common.util.Color; import com.minelittlepony.common.util.Color;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.particle.OrientedBillboardParticleEffect; import com.minelittlepony.unicopia.particle.OrientedBillboardParticleEffect;
import com.minelittlepony.unicopia.particle.ParticleHandle.Attachment; import com.minelittlepony.unicopia.particle.ParticleHandle.Attachment;
@ -21,12 +22,12 @@ import net.minecraft.util.math.Vec3d;
public class RunesParticle extends OrientedBillboardParticle implements Attachment { public class RunesParticle extends OrientedBillboardParticle implements Attachment {
private static final Identifier[] TEXTURES = new Identifier[] { private static final Identifier[] TEXTURES = new Identifier[] {
new Identifier("unicopia", "textures/particles/runes_0.png"), Unicopia.id("textures/particles/runes_0.png"),
new Identifier("unicopia", "textures/particles/runes_1.png"), Unicopia.id("textures/particles/runes_1.png"),
new Identifier("unicopia", "textures/particles/runes_2.png"), Unicopia.id("textures/particles/runes_2.png"),
new Identifier("unicopia", "textures/particles/runes_3.png"), Unicopia.id("textures/particles/runes_3.png"),
new Identifier("unicopia", "textures/particles/runes_4.png"), Unicopia.id("textures/particles/runes_4.png"),
new Identifier("unicopia", "textures/particles/runes_5.png") Unicopia.id("textures/particles/runes_5.png")
}; };
protected float prevBaseSize = 0; protected float prevBaseSize = 0;

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.client.render; package com.minelittlepony.unicopia.client.render;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.minecraft.client.model.Dilation; import net.minecraft.client.model.Dilation;
@ -15,7 +16,7 @@ import net.minecraft.util.Identifier;
public class BatWingsFeatureRenderer<E extends LivingEntity> extends WingsFeatureRenderer<E> { public class BatWingsFeatureRenderer<E extends LivingEntity> extends WingsFeatureRenderer<E> {
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/models/wings/bat.png"); private static final Identifier TEXTURE = Unicopia.id("textures/models/wings/bat.png");
public BatWingsFeatureRenderer(FeatureRendererContext<E, ? extends BipedEntityModel<E>> context) { public BatWingsFeatureRenderer(FeatureRendererContext<E, ? extends BipedEntityModel<E>> context) {
super(context); super(context);

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.client.render; package com.minelittlepony.unicopia.client.render;
import com.minelittlepony.common.util.Color; import com.minelittlepony.common.util.Color;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.client.minelittlepony.MineLPConnector; import com.minelittlepony.unicopia.client.minelittlepony.MineLPConnector;
import com.minelittlepony.unicopia.item.FriendshipBraceletItem; import com.minelittlepony.unicopia.item.FriendshipBraceletItem;
import com.minelittlepony.unicopia.item.GlowableItem; import com.minelittlepony.unicopia.item.GlowableItem;
@ -33,7 +34,7 @@ import net.minecraft.util.Identifier;
public class BraceletFeatureRenderer<E extends LivingEntity> implements AccessoryFeatureRenderer.Feature<E> { public class BraceletFeatureRenderer<E extends LivingEntity> implements AccessoryFeatureRenderer.Feature<E> {
public static final Identifier TEXTURE = new Identifier("unicopia", "textures/models/armor/bracelet.png"); public static final Identifier TEXTURE = Unicopia.id("textures/models/armor/bracelet.png");
private final BraceletModel steveModel; private final BraceletModel steveModel;
private final BraceletModel alexModel; private final BraceletModel alexModel;

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.client.render; package com.minelittlepony.unicopia.client.render;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.item.UItems;
import net.minecraft.client.render.entity.feature.FeatureRendererContext; import net.minecraft.client.render.entity.feature.FeatureRendererContext;
@ -8,8 +9,8 @@ import net.minecraft.entity.LivingEntity;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class IcarusWingsFeatureRenderer<E extends LivingEntity> extends WingsFeatureRenderer<E> { public class IcarusWingsFeatureRenderer<E extends LivingEntity> extends WingsFeatureRenderer<E> {
private static final Identifier ICARUS_WINGS = new Identifier("unicopia", "textures/models/wings/icarus.png"); private static final Identifier ICARUS_WINGS = Unicopia.id("textures/models/wings/icarus.png");
private static final Identifier ICARUS_WINGS_CORRUPTED = new Identifier("unicopia", "textures/models/wings/icarus_corrupted.png"); private static final Identifier ICARUS_WINGS_CORRUPTED = Unicopia.id("textures/models/wings/icarus_corrupted.png");
public IcarusWingsFeatureRenderer(FeatureRendererContext<E, ? extends BipedEntityModel<E>> context) { public IcarusWingsFeatureRenderer(FeatureRendererContext<E, ? extends BipedEntityModel<E>> context) {
super(context); super(context);

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.client.render; package com.minelittlepony.unicopia.client.render;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.minecraft.client.model.Dilation; import net.minecraft.client.model.Dilation;
@ -26,7 +27,7 @@ public class WingsFeatureRenderer<E extends LivingEntity> implements AccessoryFe
protected static final int FEATHER_COUNT = 8; protected static final int FEATHER_COUNT = 8;
private static final Identifier PEGASUS_WINGS = new Identifier("unicopia", "textures/models/wings/pegasus.png"); private static final Identifier PEGASUS_WINGS = Unicopia.id("textures/models/wings/pegasus.png");
private final WingsModel model; private final WingsModel model;

View file

@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.client.render.entity;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3f; import net.minecraft.util.math.Vec3f;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.SpellbookEntity; import com.minelittlepony.unicopia.entity.SpellbookEntity;
import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.EntityRendererFactory;
@ -11,7 +12,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class SpellbookEntityRenderer extends LivingEntityRenderer<SpellbookEntity, SpellbookModel> { public class SpellbookEntityRenderer extends LivingEntityRenderer<SpellbookEntity, SpellbookModel> {
private static final Identifier TEXTURE = new Identifier("unicopia", "textures/entity/spellbook/normal.png"); private static final Identifier TEXTURE = Unicopia.id("textures/entity/spellbook/normal.png");
public SpellbookEntityRenderer(EntityRendererFactory.Context context) { public SpellbookEntityRenderer(EntityRendererFactory.Context context) {
super(context, new SpellbookModel(SpellbookModel.getTexturedModelData().createModel()), 0); super(context, new SpellbookModel(SpellbookModel.getTexturedModelData().createModel()), 0);

View file

@ -5,6 +5,7 @@ import com.minelittlepony.common.client.gui.ScrollContainer;
import com.minelittlepony.common.client.gui.element.Button; import com.minelittlepony.common.client.gui.element.Button;
import com.minelittlepony.common.client.gui.element.Label; import com.minelittlepony.common.client.gui.element.Label;
import com.minelittlepony.common.client.gui.sprite.TextureSprite; import com.minelittlepony.common.client.gui.sprite.TextureSprite;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.spell.crafting.SpellbookRecipe; import com.minelittlepony.unicopia.ability.magic.spell.crafting.SpellbookRecipe;
import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait; import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait;
import com.minelittlepony.unicopia.ability.magic.spell.trait.TraitDiscovery; import com.minelittlepony.unicopia.ability.magic.spell.trait.TraitDiscovery;
@ -26,8 +27,9 @@ import net.minecraft.text.Text;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class SpellbookScreen extends HandledScreen<SpellbookScreenHandler> implements RecipeBookProvider { public class SpellbookScreen extends HandledScreen<SpellbookScreenHandler> implements RecipeBookProvider {
public static final Identifier TEXTURE = new Identifier("unicopia", "textures/gui/container/book.png"); public static final Identifier TEXTURE = Unicopia.id("textures/gui/container/book.png");
public static final Identifier SLOT = new Identifier("unicopia", "textures/gui/container/slot.png"); public static final Identifier SLOT = Unicopia.id("textures/gui/container/slot.png");
public static final Identifier GEM = Unicopia.id("textures/item/gemstone.png");
private final RecipeBookWidget recipeBook = new RecipeBookWidget(); private final RecipeBookWidget recipeBook = new RecipeBookWidget();
@ -138,7 +140,7 @@ public class SpellbookScreen extends HandledScreen<SpellbookScreenHandler> imple
if (slot instanceof InputSlot) { if (slot instanceof InputSlot) {
RenderSystem.setShaderColor(1, 1, 1, 0.3F); RenderSystem.setShaderColor(1, 1, 1, 0.3F);
RenderSystem.setShaderTexture(0, new Identifier("unicopia", "textures/item/gemstone.png")); RenderSystem.setShaderTexture(0, GEM);
drawTexture(matrices, slot.x, slot.y, 0, 0, 16, 16, 16, 16); drawTexture(matrices, slot.x, slot.y, 0, 0, 16, 16, 16, 16);
RenderSystem.setShaderColor(1, 1, 1, 1); RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.setShaderTexture(0, SLOT); RenderSystem.setShaderTexture(0, SLOT);

View file

@ -1,15 +1,16 @@
package com.minelittlepony.unicopia.container; package com.minelittlepony.unicopia.container;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.ScreenHandler;
import net.minecraft.screen.ScreenHandlerType; import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UScreenHandlers { public interface UScreenHandlers {
ScreenHandlerType<SpellbookScreenHandler> SPELL_BOOK = register("spell_book", SpellbookScreenHandler::new); ScreenHandlerType<SpellbookScreenHandler> SPELL_BOOK = register("spell_book", SpellbookScreenHandler::new);
static <T extends ScreenHandler> ScreenHandlerType<T> register(String name, ScreenHandlerType.Factory<T> factory) { static <T extends ScreenHandler> ScreenHandlerType<T> register(String name, ScreenHandlerType.Factory<T> factory) {
return Registry.register(Registry.SCREEN_HANDLER, new Identifier("unicopia", name), new ScreenHandlerType<>(factory)); return Registry.register(Registry.SCREEN_HANDLER, Unicopia.id(name), new ScreenHandlerType<>(factory));
} }
static void bootstrap() { } static void bootstrap() { }

View file

@ -7,6 +7,7 @@ import java.util.Optional;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds; import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.util.NbtSerialisable; import com.minelittlepony.unicopia.util.NbtSerialisable;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -357,7 +358,7 @@ public class ButterflyEntity extends AmbientEntity {
private static final Variant[] VALUES = Variant.values(); private static final Variant[] VALUES = Variant.values();
private final Identifier skin = new Identifier("unicopia", "textures/entity/butterfly/" + name().toLowerCase() + ".png"); private final Identifier skin = Unicopia.id("textures/entity/butterfly/" + name().toLowerCase() + ".png");
public Identifier getSkin() { public Identifier getSkin() {
return skin; return skin;

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.entity;
import java.util.function.Predicate; import java.util.function.Predicate;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.projectile.MagicProjectileEntity;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
@ -14,7 +15,6 @@ import net.minecraft.entity.EntityDimensions;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.SpawnGroup;
import net.minecraft.tag.BiomeTags; import net.minecraft.tag.BiomeTags;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome;
@ -48,7 +48,7 @@ public interface UEntities {
static <T extends Entity> EntityType<T> register(String name, FabricEntityTypeBuilder<T> builder) { static <T extends Entity> EntityType<T> register(String name, FabricEntityTypeBuilder<T> builder) {
EntityType<T> type = builder.build(); EntityType<T> type = builder.build();
return Registry.register(Registry.ENTITY_TYPE, new Identifier("unicopia", name), type); return Registry.register(Registry.ENTITY_TYPE, Unicopia.id(name), type);
} }
static void bootstrap() { static void bootstrap() {

View file

@ -5,6 +5,7 @@ import java.util.function.Supplier;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.entity.ItemWielder; import com.minelittlepony.unicopia.entity.ItemWielder;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
@ -30,7 +31,6 @@ import net.minecraft.entity.projectile.LlamaSpitEntity;
import net.minecraft.entity.projectile.thrown.SnowballEntity; import net.minecraft.entity.projectile.thrown.SnowballEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundEvents; import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
@ -38,7 +38,7 @@ import net.minecraft.util.registry.Registry;
public class EntityBehaviour<T extends Entity> { public class EntityBehaviour<T extends Entity> {
private static final EntityBehaviour<Entity> DEFAULT = new EntityBehaviour<>(); private static final EntityBehaviour<Entity> DEFAULT = new EntityBehaviour<>();
private static final Registry<EntityBehaviour<?>> REGISTRY = Registries.createSimple(new Identifier("unicopia", "entity_behaviour")); private static final Registry<EntityBehaviour<?>> REGISTRY = Registries.createSimple(Unicopia.id("entity_behaviour"));
/** /**
* Equivalent of the entity#tick method. Called every tick to update th logic for a disguise. * Equivalent of the entity#tick method. Called every tick to update th logic for a disguise.

View file

@ -1,7 +1,8 @@
package com.minelittlepony.unicopia.entity.effect; package com.minelittlepony.unicopia.entity.effect;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UEffects { public interface UEffects {
@ -10,7 +11,7 @@ public interface UEffects {
StatusEffect CORRUPT_INFLUENCE = register("corrupt_influence", new CorruptInfluenceStatusEffect(0x00FF00)); StatusEffect CORRUPT_INFLUENCE = register("corrupt_influence", new CorruptInfluenceStatusEffect(0x00FF00));
private static StatusEffect register(String name, StatusEffect effect) { private static StatusEffect register(String name, StatusEffect effect) {
return Registry.register(Registry.STATUS_EFFECT, new Identifier("unicopia", name), effect); return Registry.register(Registry.STATUS_EFFECT, Unicopia.id(name), effect);
} }
static void bootstrap() {} static void bootstrap() {}

View file

@ -1,8 +1,9 @@
package com.minelittlepony.unicopia.entity.effect; package com.minelittlepony.unicopia.entity.effect;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.potion.Potion; import net.minecraft.potion.Potion;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UPotions { public interface UPotions {
@ -13,7 +14,7 @@ public interface UPotions {
Potion TRIBE_SWAP_CHANGELING = register("tribe_swap_changeling", new Potion("unicopia.tribe_swap_changeling", new StatusEffectInstance(RaceChangeStatusEffect.CHANGE_RACE_CHANGELING, RaceChangeStatusEffect.MAX_DURATION))); Potion TRIBE_SWAP_CHANGELING = register("tribe_swap_changeling", new Potion("unicopia.tribe_swap_changeling", new StatusEffectInstance(RaceChangeStatusEffect.CHANGE_RACE_CHANGELING, RaceChangeStatusEffect.MAX_DURATION)));
static Potion register(String name, Potion potion) { static Potion register(String name, Potion potion) {
return Registry.register(Registry.POTION, new Identifier("unicopia", name), potion); return Registry.register(Registry.POTION, Unicopia.id(name), potion);
} }
static void bootstrap() { static void bootstrap() {

View file

@ -2,18 +2,18 @@ package com.minelittlepony.unicopia.item;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.item.toxin.ToxicHolder; import com.minelittlepony.unicopia.item.toxin.ToxicHolder;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.minecraft.util.Identifier;
import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UItemGroups { public interface UItemGroups {
ItemGroup ALL_ITEMS = FabricItemGroupBuilder.create(new Identifier("unicopia", "items")).appendItems(list -> { ItemGroup ALL_ITEMS = FabricItemGroupBuilder.create(Unicopia.id("items")).appendItems(list -> {
list.add(Items.APPLE.getDefaultStack()); list.add(Items.APPLE.getDefaultStack());
DefaultedList<ItemStack> defs = DefaultedList.of(); DefaultedList<ItemStack> defs = DefaultedList.of();
@ -24,7 +24,7 @@ public interface UItemGroups {
}); });
list.addAll(defs); list.addAll(defs);
}).icon(UItems.EMPTY_JAR::getDefaultStack).build(); }).icon(UItems.EMPTY_JAR::getDefaultStack).build();
ItemGroup HORSE_FEED = FabricItemGroupBuilder.create(new Identifier("unicopia", "horsefeed")).appendItems(list -> { ItemGroup HORSE_FEED = FabricItemGroupBuilder.create(Unicopia.id("horsefeed")).appendItems(list -> {
list.addAll(Registry.ITEM.stream() list.addAll(Registry.ITEM.stream()
.map(Item::getDefaultStack) .map(Item::getDefaultStack)
.filter(item -> item.getItem() instanceof ToxicHolder && ((ToxicHolder)item.getItem()).getToxic(item).isPresent()) .filter(item -> item.getItem() instanceof ToxicHolder && ((ToxicHolder)item.getItem()).getToxic(item).isPresent())

View file

@ -3,8 +3,7 @@ package com.minelittlepony.unicopia.item;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.*;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.block.UBlocks;
import com.minelittlepony.unicopia.entity.UEntities; import com.minelittlepony.unicopia.entity.UEntities;
import com.minelittlepony.unicopia.item.enchantment.UEnchantments; import com.minelittlepony.unicopia.item.enchantment.UEnchantments;
@ -20,7 +19,6 @@ import net.minecraft.item.FoodComponents;
import net.minecraft.item.MusicDiscItem; import net.minecraft.item.MusicDiscItem;
import net.minecraft.item.SpawnEggItem; import net.minecraft.item.SpawnEggItem;
import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity; import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
@ -103,7 +101,7 @@ public interface UItems {
if (item instanceof BlockItem) { if (item instanceof BlockItem) {
((BlockItem)item).appendBlocks(Item.BLOCK_ITEMS, item); ((BlockItem)item).appendBlocks(Item.BLOCK_ITEMS, item);
} }
return Registry.register(Registry.ITEM, new Identifier("unicopia", name), item); return Registry.register(Registry.ITEM, Unicopia.id(name), item);
} }
static MusicDiscItem register(String name, SoundEvent sound, int seconds) { static MusicDiscItem register(String name, SoundEvent sound, int seconds) {

View file

@ -11,6 +11,8 @@ import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.attribute.EntityAttributeModifier.Operation; import net.minecraft.entity.attribute.EntityAttributeModifier.Operation;
public class CollaboratorEnchantment extends AttributedEnchantment { public class CollaboratorEnchantment extends AttributedEnchantment {
private static final UUID TEAM_STRENGTH_UUID = UUID.fromString("5f08c02d-d959-4763-ac84-16e2acfd4b62");
protected CollaboratorEnchantment() { protected CollaboratorEnchantment() {
super(Rarity.RARE, EnchantmentTarget.WEAPON, false, 3, EquipmentSlot.MAINHAND); super(Rarity.RARE, EnchantmentTarget.WEAPON, false, 3, EquipmentSlot.MAINHAND);
this.addModifier(EntityAttributes.GENERIC_ATTACK_DAMAGE, this::getModifier); this.addModifier(EntityAttributes.GENERIC_ATTACK_DAMAGE, this::getModifier);
@ -22,7 +24,7 @@ public class CollaboratorEnchantment extends AttributedEnchantment {
} }
private EntityAttributeModifier getModifier(Living<?> user, int level) { private EntityAttributeModifier getModifier(Living<?> user, int level) {
return new EntityAttributeModifier(UUID.fromString("5f08c02d-d959-4763-ac84-16e2acfd4b62"), "Team Strength", user.getEnchants().computeIfAbsent(this, Data::new).level / 2, Operation.ADDITION); return new EntityAttributeModifier(TEAM_STRENGTH_UUID, "Team Strength", user.getEnchants().computeIfAbsent(this, Data::new).level / 2, Operation.ADDITION);
} }
private int getTeamCollectiveLevel(Living<?> user, int radius) { private int getTeamCollectiveLevel(Living<?> user, int radius) {

View file

@ -25,8 +25,8 @@ import net.minecraft.util.profiler.Profiler;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public class PoisonedJokeEnchantment extends SimpleEnchantment implements IdentifiableResourceReloadListener { public class PoisonedJokeEnchantment extends SimpleEnchantment implements IdentifiableResourceReloadListener {
private static final Identifier ID = new Identifier("unicopia", "data/poisoned_joke_sounds"); private static final Identifier ID = Unicopia.id("data/poisoned_joke_sounds");
private static final Identifier FILE = new Identifier("unicopia", "poisoned_joke_sounds.json"); private static final Identifier FILE = Unicopia.id("poisoned_joke_sounds.json");
private static final Type TYPE = TypeUtils.parameterize(List.class, Identifier.class); private static final Type TYPE = TypeUtils.parameterize(List.class, Identifier.class);
private List<SoundEvent> sounds = new ArrayList<>(); private List<SoundEvent> sounds = new ArrayList<>();

View file

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.PlayerAttributes; import com.minelittlepony.unicopia.entity.player.PlayerAttributes;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
@ -13,7 +14,6 @@ import net.minecraft.entity.attribute.EntityAttributeModifier;
import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.attribute.EntityAttributeModifier.Operation; import net.minecraft.entity.attribute.EntityAttributeModifier.Operation;
import net.minecraft.enchantment.EnchantmentTarget; import net.minecraft.enchantment.EnchantmentTarget;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UEnchantments { public interface UEnchantments {
@ -81,6 +81,6 @@ public interface UEnchantments {
static <T extends SimpleEnchantment> T register(String name, T enchantment) { static <T extends SimpleEnchantment> T register(String name, T enchantment) {
REGISTRY.add(enchantment); REGISTRY.add(enchantment);
return Registry.register(Registry.ENCHANTMENT, new Identifier("unicopia", name), enchantment); return Registry.register(Registry.ENCHANTMENT, Unicopia.id(name), enchantment);
} }
} }

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.network;
import com.minelittlepony.unicopia.util.network.S2CBroadcastPacketType; import com.minelittlepony.unicopia.util.network.S2CBroadcastPacketType;
import com.minelittlepony.unicopia.util.network.S2CPacketType; import com.minelittlepony.unicopia.util.network.S2CPacketType;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.util.network.C2SPacketType; import com.minelittlepony.unicopia.util.network.C2SPacketType;
import com.minelittlepony.unicopia.util.network.SimpleNetworking; import com.minelittlepony.unicopia.util.network.SimpleNetworking;
@ -10,22 +11,22 @@ import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public interface Channel { public interface Channel {
C2SPacketType<MsgPlayerAbility<?>> CLIENT_PLAYER_ABILITY = SimpleNetworking.clientToServer(new Identifier("unicopia", "player_ability"), MsgPlayerAbility::new); C2SPacketType<MsgPlayerAbility<?>> CLIENT_PLAYER_ABILITY = SimpleNetworking.clientToServer(Unicopia.id("player_ability"), MsgPlayerAbility::new);
C2SPacketType<MsgRequestSpeciesChange> CLIENT_REQUEST_SPECIES_CHANGE = SimpleNetworking.clientToServer(new Identifier("unicopia", "request_capabilities"), MsgRequestSpeciesChange::new); C2SPacketType<MsgRequestSpeciesChange> CLIENT_REQUEST_SPECIES_CHANGE = SimpleNetworking.clientToServer(Unicopia.id("request_capabilities"), MsgRequestSpeciesChange::new);
C2SPacketType<MsgMarkTraitRead> MARK_TRAIT_READ = SimpleNetworking.clientToServer(new Identifier("unicopia", "mark_trait_read"), MsgMarkTraitRead::new); C2SPacketType<MsgMarkTraitRead> MARK_TRAIT_READ = SimpleNetworking.clientToServer(Unicopia.id("mark_trait_read"), MsgMarkTraitRead::new);
C2SPacketType<MsgRemoveSpell> REMOVE_SPELL = SimpleNetworking.clientToServer(new Identifier("unicopia", "remove_spell"), MsgRemoveSpell::new); C2SPacketType<MsgRemoveSpell> REMOVE_SPELL = SimpleNetworking.clientToServer(Unicopia.id("remove_spell"), MsgRemoveSpell::new);
S2CPacketType<MsgPlayerCapabilities> SERVER_PLAYER_CAPABILITIES = SimpleNetworking.serverToClient(new Identifier("unicopia", "player_capabilities"), MsgPlayerCapabilities::new); S2CPacketType<MsgPlayerCapabilities> SERVER_PLAYER_CAPABILITIES = SimpleNetworking.serverToClient(Unicopia.id("player_capabilities"), MsgPlayerCapabilities::new);
S2CPacketType<MsgSpawnProjectile> SERVER_SPAWN_PROJECTILE = SimpleNetworking.serverToClient(new Identifier("unicopia", "projectile_entity"), MsgSpawnProjectile::new); S2CPacketType<MsgSpawnProjectile> SERVER_SPAWN_PROJECTILE = SimpleNetworking.serverToClient(Unicopia.id("projectile_entity"), MsgSpawnProjectile::new);
S2CPacketType<MsgBlockDestruction> SERVER_BLOCK_DESTRUCTION = SimpleNetworking.serverToClient(new Identifier("unicopia", "block_destruction"), MsgBlockDestruction::new); S2CPacketType<MsgBlockDestruction> SERVER_BLOCK_DESTRUCTION = SimpleNetworking.serverToClient(Unicopia.id("block_destruction"), MsgBlockDestruction::new);
S2CPacketType<MsgCancelPlayerAbility> CANCEL_PLAYER_ABILITY = SimpleNetworking.serverToClient(new Identifier("unicopia", "player_ability_cancel"), MsgCancelPlayerAbility::new); S2CPacketType<MsgCancelPlayerAbility> CANCEL_PLAYER_ABILITY = SimpleNetworking.serverToClient(Unicopia.id("player_ability_cancel"), MsgCancelPlayerAbility::new);
S2CPacketType<MsgUnlockTraits> UNLOCK_TRAITS = SimpleNetworking.serverToClient(new Identifier("unicopia", "unlock_traits"), MsgUnlockTraits::new); S2CPacketType<MsgUnlockTraits> UNLOCK_TRAITS = SimpleNetworking.serverToClient(Unicopia.id("unlock_traits"), MsgUnlockTraits::new);
Identifier SERVER_SELECT_TRIBE_ID = new Identifier("unicopia", "select_tribe"); Identifier SERVER_SELECT_TRIBE_ID = Unicopia.id("select_tribe");
S2CPacketType<MsgTribeSelect> SERVER_SELECT_TRIBE = SimpleNetworking.serverToClient(SERVER_SELECT_TRIBE_ID, MsgTribeSelect::new); S2CPacketType<MsgTribeSelect> SERVER_SELECT_TRIBE = SimpleNetworking.serverToClient(SERVER_SELECT_TRIBE_ID, MsgTribeSelect::new);
S2CBroadcastPacketType<MsgOtherPlayerCapabilities> SERVER_OTHER_PLAYER_CAPABILITIES = SimpleNetworking.serverToClients(new Identifier("unicopia", "other_player_capabilities"), MsgOtherPlayerCapabilities::new); S2CBroadcastPacketType<MsgOtherPlayerCapabilities> SERVER_OTHER_PLAYER_CAPABILITIES = SimpleNetworking.serverToClients(Unicopia.id("other_player_capabilities"), MsgOtherPlayerCapabilities::new);
S2CBroadcastPacketType<MsgPlayerAnimationChange> SERVER_PLAYER_ANIMATION_CHANGE = SimpleNetworking.serverToClients(new Identifier("unicopia", "other_player_animation_change"), MsgPlayerAnimationChange::new); S2CBroadcastPacketType<MsgPlayerAnimationChange> SERVER_PLAYER_ANIMATION_CHANGE = SimpleNetworking.serverToClients(Unicopia.id("other_player_animation_change"), MsgPlayerAnimationChange::new);
static void bootstrap() { static void bootstrap() {
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> { ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {

View file

@ -1,9 +1,10 @@
package com.minelittlepony.unicopia.particle; package com.minelittlepony.unicopia.particle;
import com.minelittlepony.unicopia.Unicopia;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
import net.minecraft.particle.DefaultParticleType; import net.minecraft.particle.DefaultParticleType;
import net.minecraft.particle.ParticleType; import net.minecraft.particle.ParticleType;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
public interface UParticles { public interface UParticles {
@ -29,6 +30,6 @@ public interface UParticles {
DefaultParticleType LIGHTNING_BOLT = register("lightning_bolt", FabricParticleTypes.simple(true)); DefaultParticleType LIGHTNING_BOLT = register("lightning_bolt", FabricParticleTypes.simple(true));
static <T extends ParticleType<?>> T register(String name, T type) { static <T extends ParticleType<?>> T register(String name, T type) {
return Registry.register(Registry.PARTICLE_TYPE, new Identifier("unicopia", name), type); return Registry.register(Registry.PARTICLE_TYPE, Unicopia.id(name), type);
} }
} }