From 49cc3c495b5b20ae78b023c67a908486fbc30cba Mon Sep 17 00:00:00 2001 From: Sollace Date: Sat, 25 Feb 2023 17:45:56 +0000 Subject: [PATCH] 1.19.3 -> 1.19.2 --- gradle.properties | 18 +-- .../com/minelittlepony/unicopia/Race.java | 4 +- .../minelittlepony/unicopia/UGameEvents.java | 5 +- .../com/minelittlepony/unicopia/USounds.java | 5 +- .../com/minelittlepony/unicopia/UTags.java | 10 +- .../unicopia/ability/Abilities.java | 2 +- .../ability/data/tree/TreeTypeImpl.java | 4 +- .../ability/data/tree/TreeTypeLoader.java | 11 +- .../unicopia/ability/data/tree/TreeTypes.java | 2 +- .../ability/magic/spell/PlaceableSpell.java | 5 +- .../magic/spell/effect/AwkwardSpell.java | 6 +- .../magic/spell/effect/DarkVortexSpell.java | 4 +- .../ability/magic/spell/effect/FireSpell.java | 8 +- .../magic/spell/effect/HydrophobicSpell.java | 2 +- .../ability/magic/spell/effect/IceSpell.java | 4 +- .../ability/magic/spell/effect/SpellType.java | 4 +- .../magic/spell/trait/SpellTraits.java | 6 +- .../magic/spell/trait/TraitDiscovery.java | 10 +- .../magic/spell/trait/TraitLoader.java | 4 +- .../unicopia/block/PieBlock.java | 2 +- .../unicopia/block/RockCropBlock.java | 2 +- .../unicopia/block/SegmentedCropBlock.java | 2 +- .../minelittlepony/unicopia/block/Tree.java | 78 ++++------ .../unicopia/block/UBlockEntities.java | 5 +- .../unicopia/block/UBlocks.java | 26 ++-- .../unicopia/block/UTreeGen.java | 6 +- .../unicopia/block/ZapAppleLeavesBlock.java | 4 +- .../block/data/WeatherConditions.java | 2 +- .../unicopia/block/state/StateChange.java | 4 +- .../unicopia/block/state/StatePredicate.java | 19 ++- .../unicopia/client/DiscoveryToast.java | 2 +- .../client/ModifierTooltipRenderer.java | 6 +- .../unicopia/client/URenderers.java | 3 +- .../client/gui/DismissSpellScreen.java | 18 +-- .../unicopia/client/gui/DrawableUtil.java | 17 +-- .../unicopia/client/gui/GradientUtil.java | 7 +- .../unicopia/client/gui/TribeButton.java | 2 +- .../unicopia/client/gui/UHud.java | 6 +- .../gui/spellbook/EquippedSpellSlot.java | 9 +- .../client/gui/spellbook/IngredientTree.java | 9 +- .../client/gui/spellbook/SpellbookScreen.java | 2 +- .../client/minelittlepony/AmuletGear.java | 4 +- .../client/minelittlepony/GlassesGear.java | 4 +- .../client/minelittlepony/WingsGear.java | 2 +- .../AbstractGeometryBasedParticle.java | 19 ++- .../particle/ChangelingMagicParticle.java | 7 +- .../client/particle/DiskParticle.java | 8 +- .../particle/LightningBoltParticle.java | 60 ++++---- .../client/particle/MagicParticle.java | 11 +- .../particle/OrientedBillboardParticle.java | 24 ++- .../client/particle/RainbowTrailParticle.java | 41 +++-- .../client/particle/RunesParticle.java | 29 ++-- .../client/particle/SphereParticle.java | 8 +- .../client/render/AmuletFeatureRenderer.java | 4 +- .../FloatingArtefactEntityRenderer.java | 6 +- .../client/render/GlassesFeatureRenderer.java | 4 +- .../render/HeldEntityFeatureRenderer.java | 8 +- .../unicopia/client/render/PlayerPoser.java | 2 +- .../client/render/PolearmRenderer.java | 10 +- .../unicopia/client/render/RenderLayers.java | 4 +- .../client/render/WorldRenderDelegate.java | 12 +- .../entity/SpellbookEntityRenderer.java | 6 +- .../client/render/model/BakedModel.java | 11 +- .../client/render/model/SphereModel.java | 3 +- .../client/render/shader/ViewportShader.java | 8 +- .../unicopia/command/DisguiseCommand.java | 13 +- .../container/SpellbookScreenHandler.java | 3 +- .../unicopia/container/UScreenHandlers.java | 5 +- .../unicopia/entity/ButterflyEntity.java | 2 +- .../unicopia/entity/Creature.java | 2 +- .../unicopia/entity/Enchantments.java | 6 +- .../unicopia/entity/EntityPhysics.java | 2 +- .../unicopia/entity/ItemTracker.java | 6 +- .../entity/PhysicsBodyProjectileEntity.java | 2 +- .../unicopia/entity/UEntities.java | 9 +- .../unicopia/entity/UEntityAttributes.java | 5 +- .../unicopia/entity/UTradeOffers.java | 4 +- .../entity/behaviour/AxolotlBehaviour.java | 9 +- .../unicopia/entity/behaviour/Disguise.java | 2 +- .../entity/behaviour/EntityBehaviour.java | 2 +- .../behaviour/FallingBlockBehaviour.java | 2 +- .../effect/ButterfingersStatusEffect.java | 4 +- .../entity/effect/RaceChangeStatusEffect.java | 5 +- .../unicopia/entity/effect/UEffects.java | 5 +- .../unicopia/entity/effect/UPotions.java | 5 +- .../entity/player/PlayerCharmTracker.java | 2 +- .../player/dummy/DummyClientPlayerEntity.java | 5 +- .../player/dummy/DummyPlayerEntity.java | 2 +- .../unicopia/item/ChameleonItem.java | 6 +- .../unicopia/item/CrystalHeartItem.java | 2 +- .../unicopia/item/GlowingRecipe.java | 5 +- .../unicopia/item/ItemCombinationRecipe.java | 5 +- .../unicopia/item/JarInsertRecipe.java | 5 +- .../minelittlepony/unicopia/item/UItems.java | 142 +++++++++--------- .../unicopia/item/ZapAppleItem.java | 4 +- .../unicopia/item/ZapAppleRecipe.java | 14 +- .../enchantment/PoisonedJokeEnchantment.java | 4 +- .../item/enchantment/UEnchantments.java | 5 +- .../item/group/ItemGroupRegistry.java | 23 +-- .../unicopia/item/group/UItemGroups.java | 4 +- .../item/toxin/ToxicRegistryEntry.java | 2 +- .../unicopia/item/toxin/Toxics.java | 2 +- .../unicopia/mixin/MixinBoatEntity.java | 6 +- .../mixin/MixinServerPlayerEntity.java | 2 +- .../mixin/client/MixinGameRenderer.java | 4 +- .../mixin/client/MixinWorldRenderer.java | 2 +- .../handler/ClientNetworkHandlerImpl.java | 2 +- .../particle/FollowingParticleEffect.java | 10 +- .../particle/MagicParticleEffect.java | 27 ++-- .../OrientedBillboardParticleEffect.java | 4 +- .../particle/ParticleFactoryHelper.java | 3 +- .../particle/SphereParticleEffect.java | 25 ++- .../unicopia/particle/UParticles.java | 5 +- .../unicopia/util/RegistryIndexer.java | 2 +- .../unicopia/util/RegistryUtils.java | 15 +- 115 files changed, 498 insertions(+), 574 deletions(-) diff --git a/gradle.properties b/gradle.properties index e978fc68..04bfab54 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.daemon=false # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.19.3 - yarn_mappings=1.19.3+build.2 - loader_version=0.14.11 - fabric_version=0.68.1+1.19.3 + minecraft_version=1.19.2 + yarn_mappings=1.19.2+build.28 + loader_version=0.14.14 + fabric_version=0.73.2+1.19.2 # Mod Properties group=com.minelittlepony @@ -21,8 +21,8 @@ org.gradle.daemon=false # Dependencies fabwork_version=1.1.4 - modmenu_version=5.0.0-alpha.3 - minelp_version=4.7.2 - kirin_version=1.13.2 - reach_attributes_version=2.3.1 - trinkets_version=3.5.0 + modmenu_version=4.0.6 + minelp_version=4.7.3+lts + kirin_version=1.13.2+lts + reach_attributes_version=2.3.0 + trinkets_version=3.4.0 diff --git a/src/main/java/com/minelittlepony/unicopia/Race.java b/src/main/java/com/minelittlepony/unicopia/Race.java index aad4a870..351bb70b 100644 --- a/src/main/java/com/minelittlepony/unicopia/Race.java +++ b/src/main/java/com/minelittlepony/unicopia/Race.java @@ -19,8 +19,8 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registry; -import net.minecraft.registry.RegistryKey; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryKey; public final class Race implements Affine { public static final String DEFAULT_ID = "unicopia:unset"; diff --git a/src/main/java/com/minelittlepony/unicopia/UGameEvents.java b/src/main/java/com/minelittlepony/unicopia/UGameEvents.java index 63273b4e..ad09cae2 100644 --- a/src/main/java/com/minelittlepony/unicopia/UGameEvents.java +++ b/src/main/java/com/minelittlepony/unicopia/UGameEvents.java @@ -1,8 +1,7 @@ package com.minelittlepony.unicopia; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.event.GameEvent; public interface UGameEvents { @@ -11,7 +10,7 @@ public interface UGameEvents { static GameEvent register(String name, int range) { Identifier id = Unicopia.id(name); - return Registry.register(Registries.GAME_EVENT, id, new GameEvent(id.toString(), range)); + return Registry.register(Registry.GAME_EVENT, id, new GameEvent(id.toString(), range)); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/USounds.java b/src/main/java/com/minelittlepony/unicopia/USounds.java index be98d90e..8c6b1504 100644 --- a/src/main/java/com/minelittlepony/unicopia/USounds.java +++ b/src/main/java/com/minelittlepony/unicopia/USounds.java @@ -3,8 +3,7 @@ package com.minelittlepony.unicopia; import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface USounds { SoundEvent AMBIENT_WIND_GUST = register("ambient.wind.gust"); @@ -89,7 +88,7 @@ public interface USounds { static SoundEvent register(String name) { Identifier id = Unicopia.id(name); - return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id)); + return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(id)); } static void bootstrap() {} diff --git a/src/main/java/com/minelittlepony/unicopia/UTags.java b/src/main/java/com/minelittlepony/unicopia/UTags.java index e8c3a65f..e81649ff 100644 --- a/src/main/java/com/minelittlepony/unicopia/UTags.java +++ b/src/main/java/com/minelittlepony/unicopia/UTags.java @@ -5,8 +5,8 @@ import com.minelittlepony.unicopia.item.toxin.Toxics; import net.minecraft.block.Block; import net.minecraft.entity.EntityType; import net.minecraft.item.Item; -import net.minecraft.registry.*; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.TagKey; +import net.minecraft.util.registry.Registry; public interface UTags { TagKey APPLES = item("apples"); @@ -37,15 +37,15 @@ public interface UTags { TagKey> TRANSFORMABLE_ENTITIES = entity("transformable"); static TagKey item(String name) { - return TagKey.of(RegistryKeys.ITEM, Unicopia.id(name)); + return TagKey.of(Registry.ITEM_KEY, Unicopia.id(name)); } static TagKey block(String name) { - return TagKey.of(RegistryKeys.BLOCK, Unicopia.id(name)); + return TagKey.of(Registry.BLOCK_KEY, Unicopia.id(name)); } static TagKey> entity(String name) { - return TagKey.of(RegistryKeys.ENTITY_TYPE, Unicopia.id(name)); + return TagKey.of(Registry.ENTITY_TYPE_KEY, Unicopia.id(name)); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/Abilities.java b/src/main/java/com/minelittlepony/unicopia/ability/Abilities.java index 94134e78..5ac4d83c 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/Abilities.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/Abilities.java @@ -12,7 +12,7 @@ import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.util.RegistryUtils; import net.minecraft.util.*; -import net.minecraft.registry.Registry; +import net.minecraft.util.registry.Registry; public interface Abilities { Registry> REGISTRY = RegistryUtils.createSimple(Unicopia.id("abilities")); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeImpl.java b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeImpl.java index 487ec2d0..56c4f1d2 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeImpl.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeImpl.java @@ -9,7 +9,7 @@ import net.minecraft.block.LeavesBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import net.minecraft.util.math.random.Random; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public record TreeTypeImpl ( Identifier name, @@ -43,7 +43,7 @@ public record TreeTypeImpl ( } private static boolean findMatch(Set ids, BlockState state) { - return ids.contains(Registries.BLOCK.getId(state.getBlock())); + return ids.contains(Registry.BLOCK.getId(state.getBlock())); } static boolean isNonPersistent(BlockState state) { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeLoader.java b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeLoader.java index 032b6ad5..cbb2d1cd 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeLoader.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeLoader.java @@ -18,12 +18,11 @@ import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; import net.minecraft.resource.JsonDataLoader; import net.minecraft.resource.ResourceManager; +import net.minecraft.tag.TagKey; import net.minecraft.util.Identifier; import net.minecraft.util.profiler.Profiler; -import net.minecraft.registry.Registries; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.entry.RegistryEntry; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryEntry; public class TreeTypeLoader extends JsonDataLoader implements IdentifiableResourceReloadListener { private static final Identifier ID = Unicopia.id("data/tree_type"); @@ -106,12 +105,12 @@ public class TreeTypeLoader extends JsonDataLoader implements IdentifiableResour @Override public void appendTo(Weighted.Builder> weighted) { if (item != null) { - Registries.ITEM.getOrEmpty(item).ifPresent(item -> { + Registry.ITEM.getOrEmpty(item).ifPresent(item -> { weighted.put(weight, item::getDefaultStack); }); } else { weighted.put(weight, () -> { - return Registries.ITEM.getOrCreateEntryList(TagKey.of(RegistryKeys.ITEM, tag)) + return Registry.ITEM.getOrCreateEntryList(TagKey.of(Registry.ITEM_KEY, tag)) .getRandom(Weighted.getRng()) .map(RegistryEntry::value) .map(Item::getDefaultStack) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypes.java b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypes.java index d3311fa3..e8930283 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypes.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypes.java @@ -9,7 +9,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.LeavesBlock; import net.minecraft.item.ItemStack; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.random.Random; diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java index 5b94fac7..efaeaedd 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java @@ -16,7 +16,8 @@ import com.minelittlepony.unicopia.particle.UParticles; import com.minelittlepony.unicopia.particle.ParticleHandle.Attachment; import net.minecraft.nbt.*; -import net.minecraft.registry.*; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryKey; import net.minecraft.util.Identifier; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -203,7 +204,7 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS if (compound.contains("dimension", NbtElement.STRING_TYPE)) { Identifier id = Identifier.tryParse(compound.getString("dimension")); if (id != null) { - dimension = RegistryKey.of(RegistryKeys.WORLD, id); + dimension = RegistryKey.of(Registry.WORLD_KEY, id); } } if (compound.contains("castEntity")) { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AwkwardSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AwkwardSpell.java index 964fe1d4..b488305d 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AwkwardSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AwkwardSpell.java @@ -15,7 +15,7 @@ import net.minecraft.particle.ParticleTypes; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class AwkwardSpell extends AbstractSpell implements TimedSpell { @@ -47,12 +47,12 @@ public class AwkwardSpell extends AbstractSpell implements TimedSpell { if (source.isClient()) { source.spawnParticles(new Sphere(false, (1 + source.getLevel().getScaled(8)) * 8), 10, pos -> { - List names = new ArrayList<>(Registries.PARTICLE_TYPE.getIds()); + List names = new ArrayList<>(Registry.PARTICLE_TYPE.getIds()); int index = (int)MathHelper.nextDouble(source.asWorld().random, 0, names.size()); Identifier id = names.get(index); - ParticleType type = Registries.PARTICLE_TYPE.get(id); + ParticleType type = Registry.PARTICLE_TYPE.get(id); if (type instanceof ParticleEffect && shouldSpawnParticle(type)) { source.addParticle((ParticleEffect)type, pos, Vec3d.ZERO); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java index 9f2cbaf2..22b2ad4b 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java @@ -31,7 +31,7 @@ import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.EntityHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraft.world.World.ExplosionSourceType; +import net.minecraft.world.explosion.Explosion.DestructionType; /** * More powerful version of the vortex spell which creates a black hole. @@ -61,7 +61,7 @@ public class DarkVortexSpell extends AttractiveSpell implements ProjectileDelega public void onImpact(MagicProjectileEntity projectile, BlockHitResult hit) { if (!projectile.isClient()) { BlockPos pos = hit.getBlockPos(); - projectile.world.createExplosion(projectile, pos.getX(), pos.getY(), pos.getZ(), 3, ExplosionSourceType.NONE); + projectile.world.createExplosion(projectile, pos.getX(), pos.getY(), pos.getZ(), 3, DestructionType.NONE); toPlaceable().tick(projectile, Situation.BODY); } } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/FireSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/FireSpell.java index a4974aa5..331d3931 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/FireSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/FireSpell.java @@ -27,13 +27,13 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.particle.ParticleTypes; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.EntityHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraft.world.World.ExplosionSourceType; +import net.minecraft.world.explosion.Explosion.DestructionType; /** * Simple fire spell that triggers an effect when used on a block. @@ -51,7 +51,7 @@ public class FireSpell extends AbstractAreaEffectSpell implements ProjectileDele public void onImpact(MagicProjectileEntity projectile, BlockHitResult hit) { if (!projectile.isClient()) { Vec3d pos = hit.getPos(); - projectile.asWorld().createExplosion(projectile.getOwner(), pos.getX(), pos.getY(), pos.getZ(), 2, ExplosionSourceType.MOB); + projectile.asWorld().createExplosion(projectile.getOwner(), pos.getX(), pos.getY(), pos.getZ(), 2, DestructionType.BREAK); } } @@ -59,7 +59,7 @@ public class FireSpell extends AbstractAreaEffectSpell implements ProjectileDele public void onImpact(MagicProjectileEntity projectile, EntityHitResult hit) { if (!projectile.isClient()) { Entity entity = hit.getEntity(); - projectile.asWorld().createExplosion(projectile.getOwner(), entity.getX(), entity.getY(), entity.getZ(), 2, ExplosionSourceType.MOB); + projectile.asWorld().createExplosion(projectile.getOwner(), entity.getX(), entity.getY(), entity.getZ(), 2, DestructionType.BREAK); } } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/HydrophobicSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/HydrophobicSpell.java index f9f74437..7f6ade12 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/HydrophobicSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/HydrophobicSpell.java @@ -18,7 +18,7 @@ import net.minecraft.block.*; import net.minecraft.fluid.*; import net.minecraft.nbt.*; import net.minecraft.state.property.Properties; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.TagKey; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/IceSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/IceSpell.java index 8262f789..3a41ea00 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/IceSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/IceSpell.java @@ -21,8 +21,8 @@ import net.minecraft.entity.TntEntity; import net.minecraft.entity.Entity.RemovalReason; import net.minecraft.particle.ParticleTypes; import net.minecraft.state.property.Properties; -import net.minecraft.registry.tag.BlockTags; -import net.minecraft.registry.tag.FluidTags; +import net.minecraft.tag.BlockTags; +import net.minecraft.tag.FluidTags; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/SpellType.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/SpellType.java index 93e1823a..0301ba59 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/SpellType.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/SpellType.java @@ -26,8 +26,8 @@ import net.minecraft.nbt.NbtCompound; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Util; -import net.minecraft.registry.Registry; -import net.minecraft.registry.tag.FluidTags; +import net.minecraft.util.registry.Registry; +import net.minecraft.tag.FluidTags; public final class SpellType implements Affine, SpellPredicate { public static final Identifier EMPTY_ID = Unicopia.id("none"); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java index aca7e161..304a5e05 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java @@ -33,7 +33,7 @@ import net.minecraft.network.PacketByteBuf; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public final class SpellTraits implements Iterable> { public static final SpellTraits EMPTY = new SpellTraits(Map.of()); @@ -199,7 +199,7 @@ public final class SpellTraits implements Iterable> { } public static SpellTraits of(Item item) { - return REGISTRY.getOrDefault(Registries.ITEM.getId(item), EMPTY); + return REGISTRY.getOrDefault(Registry.ITEM.getId(item), EMPTY); } public static SpellTraits of(Block block) { @@ -210,7 +210,7 @@ public final class SpellTraits implements Iterable> { return REGISTRY.entrySet().stream() .filter(e -> e.getValue().get(trait) > 0) .map(Map.Entry::getKey) - .flatMap(id -> Registries.ITEM.getOrEmpty(id).stream()); + .flatMap(id -> Registry.ITEM.getOrEmpty(id).stream()); } public static Optional getEmbeddedTraits(ItemStack stack) { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java index 929f54e1..baef6244 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java @@ -29,7 +29,7 @@ import net.minecraft.nbt.NbtString; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; public class TraitDiscovery implements NbtSerialisable, Copyable { @@ -67,7 +67,7 @@ public class TraitDiscovery implements NbtSerialisable, Copyable return; } SpellTraits traits = SpellTraits.of(item); - items.put(Registries.ITEM.getId(item), traits); + items.put(Registry.ITEM.getId(item), traits); Set newTraits = new HashSet<>(); traits.entries().forEach(e -> { if (this.traits.add(e.getKey())) { @@ -82,13 +82,13 @@ public class TraitDiscovery implements NbtSerialisable, Copyable } public SpellTraits getKnownTraits(Item item) { - return items.getOrDefault(Registries.ITEM.getId(item), SpellTraits.EMPTY); + return items.getOrDefault(Registry.ITEM.getId(item), SpellTraits.EMPTY); } public Stream getKnownItems(Trait trait) { return items.entrySet().stream() .filter(entry -> entry.getValue().get(trait) > 0) - .flatMap(entry -> Registries.ITEM.getOrEmpty(entry.getKey()).stream()); + .flatMap(entry -> Registry.ITEM.getOrEmpty(entry.getKey()).stream()); } public boolean isUnread() { @@ -144,7 +144,7 @@ public class TraitDiscovery implements NbtSerialisable, Copyable private Optional loadTraits(Identifier itemId, NbtCompound nbt) { if (!pony.isClient()) { - return Registries.ITEM.getOrEmpty(itemId) + return Registry.ITEM.getOrEmpty(itemId) .flatMap(item -> Optional.of(SpellTraits.of(item))) .filter(SpellTraits::isPresent) .or(() -> SpellTraits.fromNbt(nbt)); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitLoader.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitLoader.java index 44e8560b..7a626fcc 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitLoader.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitLoader.java @@ -26,7 +26,7 @@ import net.minecraft.resource.SinglePreparationResourceReloader; import net.minecraft.util.Identifier; import net.minecraft.util.JsonHelper; import net.minecraft.util.profiler.Profiler; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class TraitLoader extends SinglePreparationResourceReloader> implements IdentifiableResourceReloadListener { private static final Identifier ID = Unicopia.id("data/traits"); @@ -108,7 +108,7 @@ public class TraitLoader extends SinglePreparationResourceReloader { - if (item == null || !Registries.ITEM.containsId(item)) { + if (item == null || !Registry.ITEM.containsId(item)) { Unicopia.LOGGER.warn("Skipping unknown item {} in {}:{}", item, pack, id); return false; } diff --git a/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java b/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java index 05ca6b52..2db7b089 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java @@ -163,7 +163,7 @@ public class PieBlock extends Block implements Waterloggable { return Blocks.AIR.getDefaultState(); } if (state.get(WATERLOGGED)) { - world.scheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); + world.createAndScheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); } return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/RockCropBlock.java b/src/main/java/com/minelittlepony/unicopia/block/RockCropBlock.java index 0a9995e5..4d9c79e2 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/RockCropBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/RockCropBlock.java @@ -91,7 +91,7 @@ public class RockCropBlock extends CropBlock { } @Override - public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state, boolean isClient) { + public boolean isFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) { if (world instanceof World && !canGrow((World)world, ((World)world).random, pos, state)) { return false; } diff --git a/src/main/java/com/minelittlepony/unicopia/block/SegmentedCropBlock.java b/src/main/java/com/minelittlepony/unicopia/block/SegmentedCropBlock.java index 97e0225e..ebd7f502 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/SegmentedCropBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/SegmentedCropBlock.java @@ -165,7 +165,7 @@ public class SegmentedCropBlock extends CropBlock implements SegmentedBlock { } @Override - public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state, boolean isClient) { + public boolean isFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) { return super.isFertilizable(world, pos, state, isClient) || (nextSegmentSupplier != null && isNext(world.getBlockState(pos.up()))); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/Tree.java b/src/main/java/com/minelittlepony/unicopia/block/Tree.java index 8ee606c2..a7aacb9d 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/Tree.java +++ b/src/main/java/com/minelittlepony/unicopia/block/Tree.java @@ -5,15 +5,14 @@ import java.util.function.Predicate; import java.util.function.Supplier; import net.fabricmc.fabric.api.biome.v1.*; -import net.fabricmc.fabric.api.event.registry.DynamicRegistrySetupCallback; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.block.sapling.SaplingGenerator; import net.minecraft.item.*; import net.minecraft.util.Identifier; import net.minecraft.util.math.random.Random; -import net.minecraft.registry.*; -import net.minecraft.registry.tag.BiomeTags; +import net.minecraft.util.registry.*; +import net.minecraft.tag.BiomeTags; import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.feature.size.TwoLayersFeatureSize; @@ -23,36 +22,12 @@ import net.minecraft.world.gen.stateprovider.BlockStateProvider; import net.minecraft.world.gen.trunk.TrunkPlacer; public record Tree ( - Identifier id, - TreeFeatureConfig.Builder config, - RegistryKey> configuredFeatureId, - Optional> placedFeatureId, - Optional sapling, - Optional placement + RegistryEntry> configuredFeature, + Optional> placedFeature, + Optional sapling ) { public static final List REGISTRY = new ArrayList<>(); - private static void bootstrap() { - DynamicRegistrySetupCallback.EVENT.register(registries -> { - registries.getOptional(RegistryKeys.CONFIGURED_FEATURE).ifPresent(registry -> { - REGISTRY.forEach(tree -> { - Registry.register(registry, tree.id(), new ConfiguredFeature<>(Feature.TREE, tree.config.build())); - }); - }); - registries.getOptional(RegistryKeys.PLACED_FEATURE).ifPresent(registry -> { - var reg = registries.asDynamicRegistryManager().createRegistryLookup().getOrThrow(RegistryKeys.CONFIGURED_FEATURE); - REGISTRY.stream().filter(tree -> tree.placedFeatureId().isPresent()).forEach(tree -> { - var placedFeature = new PlacedFeature(reg.getOrThrow(tree.configuredFeatureId()), - VegetationPlacedFeatures.modifiersWithWouldSurvive(tree.placement().orElseThrow(), tree.sapling().orElse(Blocks.OAK_SAPLING)) - ); - - Registry.register(registry, tree.id, placedFeature); - }); - }); - }); - - } - public static class Builder { public static final Predicate IS_FOREST = BiomeSelectors.foundInOverworld().and(BiomeSelectors.tag(BiomeTags.IS_FOREST)); @@ -116,28 +91,31 @@ public record Tree ( } public Tree build() { - RegistryKey> configuredFeatureId = RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, id); - Tree tree = new Tree(id, configSupplier.map(Supplier::get) + RegistryEntry> configuredFeature = ConfiguredFeatures.register(id.toString(), Feature.TREE, configSupplier.map(Supplier::get) .orElseGet(() -> new TreeFeatureConfig.Builder( - BlockStateProvider.of(logType), - trunkPlacer, - BlockStateProvider.of(leavesType), - foliagePlacer, - size.get() - ).forceDirt()), configuredFeatureId, selector.map(selector -> { - RegistryKey i = RegistryKey.of(RegistryKeys.PLACED_FEATURE, id); - BiomeModifications.addFeature(selector, GenerationStep.Feature.VEGETAL_DECORATION, i); - return i; - }), saplingId.map(id -> UBlocks.register(id, new SaplingBlock(new SaplingGenerator() { - @Override - protected RegistryKey> getTreeFeature(Random rng, boolean flowersNearby) { - return configuredFeatureId; - } - }, FabricBlockSettings.copy(Blocks.OAK_SAPLING)), ItemGroups.NATURAL)), countModifier); + BlockStateProvider.of(logType), + trunkPlacer, + BlockStateProvider.of(leavesType), + foliagePlacer, + size.get() + ).forceDirt()).build()); - if (REGISTRY.isEmpty()) { - bootstrap(); - } + Optional sapling = saplingId.map(id -> UBlocks.register(id, new SaplingBlock(new SaplingGenerator() { + @Override + protected RegistryEntry> getTreeFeature(Random rng, boolean flowersNearby) { + return configuredFeature; + } + }, FabricBlockSettings.copy(Blocks.OAK_SAPLING)), ItemGroup.DECORATIONS)); + + Optional> placedFeature = selector.map(selector -> { + var pf = PlacedFeatures.register(id.toString() + "_checked", configuredFeature, + VegetationPlacedFeatures.modifiersWithWouldSurvive(countModifier.orElseThrow(), sapling.orElse(Blocks.OAK_SAPLING)) + ); + BiomeModifications.addFeature(selector, GenerationStep.Feature.VEGETAL_DECORATION, pf.getKey().get()); + return pf; + }); + + Tree tree = new Tree(configuredFeature, placedFeature, sapling); REGISTRY.add(tree); return tree; diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlockEntities.java b/src/main/java/com/minelittlepony/unicopia/block/UBlockEntities.java index 02133446..dad1d265 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlockEntities.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlockEntities.java @@ -3,14 +3,13 @@ package com.minelittlepony.unicopia.block; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.BlockEntityType.Builder; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UBlockEntities { BlockEntityType WEATHER_VANE = create("weather_vane", BlockEntityType.Builder.create(WeatherVaneBlock.WeatherVane::new, UBlocks.WEATHER_VANE)); static BlockEntityType create(String id, Builder builder) { - return Registry.register(Registries.BLOCK_ENTITY_TYPE, id, builder.build(null)); + return Registry.register(Registry.BLOCK_ENTITY_TYPE, id, builder.build(null)); } static void bootstrap() {} diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 58ebcd5d..ab961fe7 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -5,7 +5,6 @@ import java.util.List; import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.item.UItems; -import com.minelittlepony.unicopia.item.group.ItemGroupRegistry; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricMaterialBuilder; @@ -17,8 +16,7 @@ import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.BlockView; public interface UBlocks { @@ -34,23 +32,23 @@ public interface UBlocks { Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly())); - Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); - Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); + Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroup.BUILDING_BLOCKS); + Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroup.BUILDING_BLOCKS); - Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroup.BUILDING_BLOCKS); + Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroup.BUILDING_BLOCKS); - Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL); + Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroup.DECORATIONS); Block ZAP_BULB = register("zap_bulb", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); Block ZAP_APPLE = register("zap_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GRAY).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); - Block WEATHER_VANE = register("weather_vane", new WeatherVaneBlock(FabricBlockSettings.of(Material.METAL, MapColor.BLACK).requiresTool().strength(3.0f, 6.0f).sounds(BlockSoundGroup.METAL).nonOpaque()), ItemGroups.TOOLS); + Block WEATHER_VANE = register("weather_vane", new WeatherVaneBlock(FabricBlockSettings.of(Material.METAL, MapColor.BLACK).requiresTool().strength(3.0f, 6.0f).sounds(BlockSoundGroup.METAL).nonOpaque()), ItemGroup.TOOLS); Block GREEN_APPLE_LEAVES = register("green_apple_leaves", new FruitBearingBlock(FabricBlockSettings.copy(Blocks.OAK_LEAVES), 0xE5FFFF88, () -> UBlocks.GREEN_APPLE, () -> UItems.GREEN_APPLE.getDefaultStack() - ), ItemGroups.NATURAL); + ), ItemGroup.DECORATIONS); Block GREEN_APPLE = register("green_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, GREEN_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE)); Block GREEN_APPLE_SPROUT = register("green_apple_sprout", new SproutBlock(0xE5FFFF88, () -> UItems.GREEN_APPLE_SEEDS, () -> UTreeGen.GREEN_APPLE_TREE.sapling().map(Block::getDefaultState).get())); @@ -58,7 +56,7 @@ public interface UBlocks { 0xE5FFCC88, () -> UBlocks.SWEET_APPLE, () -> UItems.SWEET_APPLE.getDefaultStack() - ), ItemGroups.NATURAL); + ), ItemGroup.DECORATIONS); Block SWEET_APPLE = register("sweet_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, SWEET_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE)); Block SWEET_APPLE_SPROUT = register("sweet_apple_sprout", new SproutBlock(0xE5FFCC88, () -> UItems.SWEET_APPLE_SEEDS, () -> UTreeGen.SWEET_APPLE_TREE.sapling().map(Block::getDefaultState).get())); @@ -66,7 +64,7 @@ public interface UBlocks { 0xE5FFCCCC, () -> UBlocks.SOUR_APPLE, () -> UItems.SOUR_APPLE.getDefaultStack() - ), ItemGroups.NATURAL); + ), ItemGroup.DECORATIONS); Block SOUR_APPLE = register("sour_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, SOUR_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE)); Block SOUR_APPLE_SPROUT = register("sour_apple_sprout", new SproutBlock(0xE5FFCC88, () -> UItems.SOUR_APPLE_SEEDS, () -> UTreeGen.SOUR_APPLE_TREE.sapling().map(Block::getDefaultState).get())); @@ -85,7 +83,7 @@ public interface UBlocks { } static T register(Identifier id, T block, ItemGroup group) { - UItems.register(id, ItemGroupRegistry.register(new BlockItem(block, new Item.Settings()), group)); + UItems.register(id, new BlockItem(block, new Item.Settings().group(group))); return register(id, block); } @@ -96,7 +94,7 @@ public interface UBlocks { if (block instanceof SaplingBlock || block instanceof SproutBlock || block instanceof FruitBlock || block instanceof CropBlock) { TRANSLUCENT_BLOCKS.add(block); } - return Registry.register(Registries.BLOCK, id, block); + return Registry.register(Registry.BLOCK, id, block); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/block/UTreeGen.java b/src/main/java/com/minelittlepony/unicopia/block/UTreeGen.java index 8ea0fd3c..dd7c389e 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UTreeGen.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UTreeGen.java @@ -5,8 +5,8 @@ import com.minelittlepony.unicopia.Unicopia; import net.minecraft.block.*; import net.minecraft.util.math.intprovider.ConstantIntProvider; import net.minecraft.util.math.intprovider.UniformIntProvider; -import net.minecraft.registry.Registries; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.util.registry.Registry; +import net.minecraft.tag.BlockTags; import net.minecraft.world.gen.foliage.BlobFoliagePlacer; import net.minecraft.world.gen.foliage.JungleFoliagePlacer; import net.minecraft.world.gen.trunk.StraightTrunkPlacer; @@ -18,7 +18,7 @@ public interface UTreeGen { UniformIntProvider.create(3, 6), 0.3f, UniformIntProvider.create(1, 3), - Registries.BLOCK.getOrCreateEntryList(BlockTags.MANGROVE_LOGS_CAN_GROW_THROUGH) + Registry.BLOCK.getOrCreateEntryList(BlockTags.MANGROVE_LOGS_CAN_GROW_THROUGH) ), new JungleFoliagePlacer( ConstantIntProvider.create(3), ConstantIntProvider.create(2), diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java index aa4a0732..a716baa7 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java @@ -68,7 +68,7 @@ public class ZapAppleLeavesBlock extends LeavesBlock implements TintedBlock { onStageChanged(store, newStage, world, state, pos, random); } - world.scheduleBlockTick(pos, this, 1); + world.createAndScheduleBlockTick(pos, this, 1); } @Override @@ -79,7 +79,7 @@ public class ZapAppleLeavesBlock extends LeavesBlock implements TintedBlock { @Override public BlockState getPlacementState(ItemPlacementContext ctx) { if (!ctx.getWorld().isClient) { - ctx.getWorld().scheduleBlockTick(ctx.getBlockPos(), this, 1); + ctx.getWorld().createAndScheduleBlockTick(ctx.getBlockPos(), this, 1); return super.getPlacementState(ctx).with(STAGE, ZapAppleStageStore.get(ctx.getWorld()).getStage()); } return super.getPlacementState(ctx); diff --git a/src/main/java/com/minelittlepony/unicopia/block/data/WeatherConditions.java b/src/main/java/com/minelittlepony/unicopia/block/data/WeatherConditions.java index 0ff2a6fa..c3b15ad3 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/data/WeatherConditions.java +++ b/src/main/java/com/minelittlepony/unicopia/block/data/WeatherConditions.java @@ -6,7 +6,7 @@ import com.minelittlepony.unicopia.util.Tickable; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.nbt.NbtCompound; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.Identifier; import net.minecraft.util.math.*; import net.minecraft.world.Heightmap.Type; diff --git a/src/main/java/com/minelittlepony/unicopia/block/state/StateChange.java b/src/main/java/com/minelittlepony/unicopia/block/state/StateChange.java index 72e7b9e4..28807c20 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/state/StateChange.java +++ b/src/main/java/com/minelittlepony/unicopia/block/state/StateChange.java @@ -14,7 +14,7 @@ import net.minecraft.block.BlockState; import net.minecraft.state.property.Property; import net.minecraft.util.Identifier; import net.minecraft.util.JsonHelper; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; public abstract class StateChange { @@ -49,7 +49,7 @@ public abstract class StateChange { if (chance > 0 && world.random.nextFloat() > chance) { return state; } - return Registries.BLOCK.getOrEmpty(id).map(Block::getDefaultState) + return Registry.BLOCK.getOrEmpty(id).map(Block::getDefaultState) .map(newState -> merge(newState, state)) .orElse(state); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/state/StatePredicate.java b/src/main/java/com/minelittlepony/unicopia/block/state/StatePredicate.java index 5a6ded9f..82330745 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/state/StatePredicate.java +++ b/src/main/java/com/minelittlepony/unicopia/block/state/StatePredicate.java @@ -17,10 +17,9 @@ import net.minecraft.block.*; import net.minecraft.state.property.Property; import net.minecraft.util.Identifier; import net.minecraft.util.JsonHelper; -import net.minecraft.registry.Registries; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.entry.RegistryEntry; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryEntry; +import net.minecraft.tag.TagKey; import net.minecraft.world.World; public abstract class StatePredicate implements Predicate { @@ -54,7 +53,7 @@ public abstract class StatePredicate implements Predicate { predicates.add(ofState(JsonHelper.getString(o, "state"))); } if (o.has("tag")) { - Optional.of(JsonHelper.getString(o, "tag")).map(s -> TagKey.of(RegistryKeys.BLOCK, new Identifier(s))).ifPresent(tag -> { + Optional.of(JsonHelper.getString(o, "tag")).map(s -> TagKey.of(Registry.BLOCK_KEY, new Identifier(s))).ifPresent(tag -> { predicates.add(new StatePredicate() { @Override public StateChange getInverse() { @@ -67,7 +66,7 @@ public abstract class StatePredicate implements Predicate { @Override public @NotNull BlockState getConverted(World world, @NotNull BlockState state) { - return Registries.BLOCK.getOrCreateEntryList(tag) + return Registry.BLOCK.getOrCreateEntryList(tag) .getRandom(world.random) .map(RegistryEntry::value) .map(Block::getDefaultState) @@ -154,14 +153,14 @@ public abstract class StatePredicate implements Predicate { @Override public @NotNull BlockState getConverted(World world, @NotNull BlockState state) { - return Registries.BLOCK.getOrEmpty(id).map(Block::getDefaultState).orElse(state); + return Registry.BLOCK.getOrEmpty(id).map(Block::getDefaultState).orElse(state); } }; } @Override public boolean test(BlockState state) { - return Registries.BLOCK.getOrEmpty(id).filter(state::isOf).isPresent(); + return Registry.BLOCK.getOrEmpty(id).filter(state::isOf).isPresent(); } }; } @@ -178,7 +177,7 @@ public abstract class StatePredicate implements Predicate { @Override public @NotNull BlockState getConverted(World world, @NotNull BlockState state) { - return Registries.BLOCK.getOrEmpty(id).map(Block::getDefaultState).map(newState -> { + return Registry.BLOCK.getOrEmpty(id).map(Block::getDefaultState).map(newState -> { for (PropertyOp prop : properties) { newState = prop.applyTo(world, newState); } @@ -190,7 +189,7 @@ public abstract class StatePredicate implements Predicate { @Override public boolean test(BlockState state) { - return Registries.BLOCK.getOrEmpty(id).filter(state::isOf).isPresent() && properties.stream().allMatch(p -> p.test(state)); + return Registry.BLOCK.getOrEmpty(id).filter(state::isOf).isPresent() && properties.stream().allMatch(p -> p.test(state)); } }; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/DiscoveryToast.java b/src/main/java/com/minelittlepony/unicopia/client/DiscoveryToast.java index 60224fec..b66fd55a 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/DiscoveryToast.java +++ b/src/main/java/com/minelittlepony/unicopia/client/DiscoveryToast.java @@ -36,7 +36,7 @@ public class DiscoveryToast implements Toast { return Toast.Visibility.HIDE; } - RenderSystem.setShader(GameRenderer::getPositionTexProgram); + RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, TEXTURE); RenderSystem.setShaderColor(1.0F, 1, 1, 1); manager.drawTexture(matrices, 0, 0, 0, 32, getWidth(), getHeight()); diff --git a/src/main/java/com/minelittlepony/unicopia/client/ModifierTooltipRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/ModifierTooltipRenderer.java index 2f32520e..c444ef81 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/ModifierTooltipRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/ModifierTooltipRenderer.java @@ -31,7 +31,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import net.minecraft.util.Pair; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class ModifierTooltipRenderer implements ItemTooltipCallback { @@ -102,7 +102,7 @@ public class ModifierTooltipRenderer implements ItemTooltipCallback { if (stack.isDamaged()) { insertPosition = checkFor(lines, Text.translatable("item.durability", stack.getMaxDamage() - stack.getDamage(), stack.getMaxDamage())); } else { - insertPosition = checkFor(lines, Text.literal(Registries.ITEM.getId(stack.getItem()).toString()).formatted(Formatting.DARK_GRAY)); + insertPosition = checkFor(lines, Text.literal(Registry.ITEM.getId(stack.getItem()).toString()).formatted(Formatting.DARK_GRAY)); } } @@ -156,7 +156,7 @@ public class ModifierTooltipRenderer implements ItemTooltipCallback { return stack.getEnchantments() .stream() .map(t -> (NbtCompound)t) - .map(tag -> Registries.ENCHANTMENT.getOrEmpty(Identifier.tryParse(tag.getString("id"))) + .map(tag -> Registry.ENCHANTMENT.getOrEmpty(Identifier.tryParse(tag.getString("id"))) .map(ench -> new Pair<>(tag.getInt("lvl"), ench))) .filter(Optional::isPresent) .map(Optional::get); diff --git a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java index a43009db..c7aad20c 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java +++ b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java @@ -34,6 +34,7 @@ import net.minecraft.client.item.ModelPredicateProviderRegistry; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.render.*; +import net.minecraft.client.render.block.entity.BlockEntityRendererFactories; import net.minecraft.client.render.entity.FlyingItemEntityRenderer; import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.client.render.model.json.ModelTransformation; @@ -76,7 +77,7 @@ public interface URenderers { EntityRendererRegistry.register(UEntities.SPELLBOOK, SpellbookEntityRenderer::new); EntityRendererRegistry.register(UEntities.AIR_BALLOON, AirBalloonEntityRenderer::new); - BlockEntityRendererRegistry.register(UBlockEntities.WEATHER_VANE, WeatherVaneBlockEntityRenderer::new); + BlockEntityRendererFactories.register(UBlockEntities.WEATHER_VANE, WeatherVaneBlockEntityRenderer::new); ColorProviderRegistry.ITEM.register((stack, i) -> i > 0 ? -1 : ((DyeableItem)stack.getItem()).getColor(stack), UItems.FRIENDSHIP_BRACELET); BuiltinItemRendererRegistry.INSTANCE.register(UItems.FILLED_JAR, (stack, mode, matrices, vertexConsumers, light, overlay) -> { diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/DismissSpellScreen.java b/src/main/java/com/minelittlepony/unicopia/client/gui/DismissSpellScreen.java index ec62bee2..a5ecbb76 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/DismissSpellScreen.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/DismissSpellScreen.java @@ -3,8 +3,6 @@ package com.minelittlepony.unicopia.client.gui; import java.util.ArrayList; import java.util.List; -import org.joml.Vector4f; - import com.minelittlepony.common.client.gui.GameGui; import com.minelittlepony.unicopia.ability.magic.spell.*; import com.minelittlepony.unicopia.client.FlowingText; @@ -155,27 +153,27 @@ public class DismissSpellScreen extends GameGui { @Override public boolean isMouseOver(double mouseX, double mouseY) { - return squareDistance(mouseX, mouseY, x, y) < 75; + return squareDistance(mouseX, mouseY, getX(), getY()) < 75; } @Override public void render(MatrixStack matrices, int mouseX, int mouseY, float tickDelta) { - copy.set(x, y, z, w); - copy.mul(matrices.peek().getPositionMatrix()); + copy.set(getX(), getY(), getZ(), getW()); + copy.transform(matrices.peek().getPositionMatrix()); var type = actualSpell.getType().withTraits(actualSpell.getTraits()); - DrawableUtil.drawLine(matrices, 0, 0, (int)x, (int)y, 0xFFAAFF99); + DrawableUtil.drawLine(matrices, 0, 0, (int)getX(), (int)getY(), 0xFFAAFF99); DrawableUtil.renderItemIcon(actualSpell.isDead() ? UItems.BOTCHED_GEM.getDefaultStack() : type.getDefaultStack(), - copy.x - 8 + copy.z / 20F, - copy.y - 8 + copy.z / 20F, + copy.getX() - 8 + copy.getZ() / 20F, + copy.getY() - 8 + copy.getZ() / 20F, 1 ); int color = actualSpell.getType().getColor() << 2; matrices.push(); - matrices.translate(x, y, 0); + matrices.translate(getX(), getY(), 0); DrawableUtil.drawArc(matrices, 7, 8, 0, DrawableUtil.TAU, color | 0x00000088, false); @@ -223,7 +221,7 @@ public class DismissSpellScreen extends GameGui { } static void playClickEffect() { - MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK.value(), 6, 0.3F)); + MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 6, 0.3F)); } static double squareDistance(double x1, double y1, double x2, double y2) { diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/DrawableUtil.java b/src/main/java/com/minelittlepony/unicopia/client/gui/DrawableUtil.java index 7c4b1b3d..edb7b19f 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/DrawableUtil.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/DrawableUtil.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.client.gui; -import org.joml.Matrix4f; - import com.minelittlepony.unicopia.Race; import com.mojang.blaze3d.systems.RenderSystem; @@ -17,6 +15,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Matrix4f; public interface DrawableUtil { double PI = Math.PI; @@ -56,7 +55,7 @@ public interface DrawableUtil { RenderSystem.enableBlend(); RenderSystem.disableTexture(); RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); Matrix4f matrix = matrices.peek().getPositionMatrix(); @@ -68,11 +67,11 @@ public interface DrawableUtil { RenderSystem.enableBlend(); RenderSystem.disableTexture(); RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); bufferBuilder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR); bufferBuilder.vertex(matrix, x1, y1, 0).color(r, g, b, k).next(); bufferBuilder.vertex(matrix, x2, y2, 0).color(r, g, b, k).next(); - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); + BufferRenderer.drawWithShader(bufferBuilder.end()); RenderSystem.enableTexture(); RenderSystem.disableBlend(); } @@ -99,7 +98,7 @@ public interface DrawableUtil { } RenderSystem.setShaderColor(1, 1, 1, 1); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); RenderSystem.enableBlend(); RenderSystem.disableTexture(); RenderSystem.defaultBlendFunc(); @@ -120,7 +119,7 @@ public interface DrawableUtil { cylendricalVertex(bufferBuilder, model, innerRadius, angle + INCREMENT, r, g, b, k); } - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); + BufferRenderer.drawWithShader(bufferBuilder.end()); RenderSystem.enableTexture(); } @@ -159,7 +158,7 @@ public interface DrawableUtil { } RenderSystem.setShaderColor(1, 1, 1, 1); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); RenderSystem.enableBlend(); RenderSystem.disableTexture(); RenderSystem.defaultBlendFunc(); @@ -186,7 +185,7 @@ public interface DrawableUtil { } } - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); + BufferRenderer.drawWithShader(bufferBuilder.end()); RenderSystem.enableTexture(); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/GradientUtil.java b/src/main/java/com/minelittlepony/unicopia/client/gui/GradientUtil.java index 2dae20d8..066fe2ec 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/GradientUtil.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/GradientUtil.java @@ -1,12 +1,11 @@ package com.minelittlepony.unicopia.client.gui; -import org.joml.Matrix4f; - import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.render.*; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Matrix4f; public interface GradientUtil { @@ -14,7 +13,7 @@ public interface GradientUtil { RenderSystem.disableTexture(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferBuilder = tessellator.getBuffer(); fillVerticalGradient(matrices.peek().getPositionMatrix(), bufferBuilder, startX, startY, stopY, endX, endY, z, colorStart, colorStop, colorEnd); @@ -53,7 +52,7 @@ public interface GradientUtil { RenderSystem.disableTexture(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + RenderSystem.setShader(GameRenderer::getPositionColorShader); Tessellator tessellator = Tessellator.getInstance(); if (fillRadials(matrices.peek().getPositionMatrix(), tessellator.getBuffer(), startX, startY, endX, endY, z, colorStart, colorEnd, radius)) { tessellator.draw(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/TribeButton.java b/src/main/java/com/minelittlepony/unicopia/client/gui/TribeButton.java index 1f1416f6..31341126 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/TribeButton.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/TribeButton.java @@ -29,7 +29,7 @@ public class TribeButton extends Button { @Override public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float partialTicks) { - RenderSystem.setShader(GameRenderer::getPositionTexProgram); + RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, TribeSelectionScreen.TEXTURE); RenderSystem.setShaderColor(1, 1, 1, alpha); RenderSystem.enableBlend(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/UHud.java b/src/main/java/com/minelittlepony/unicopia/client/gui/UHud.java index f22e3f58..bf312d5c 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/UHud.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/UHud.java @@ -131,9 +131,9 @@ public class UHud extends DrawableHelper { if (pony.asEntity().isSneaking()) { first = !first; } - matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(first ? 37 : 63)); + matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(first ? 37 : 63)); matrices.translate(-23, 0, 0); - matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(-26)); + matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(-26)); matrices.scale(0.8F, 0.8F, 1); UHud.drawTexture(matrices, 0, 0, 3, 120, 15, 7, 128, 128); matrices.pop(); @@ -170,7 +170,7 @@ public class UHud extends DrawableHelper { view.push(); view.translate(x, y, 0); - view.multiply(RotationAxis.POSITIVE_X.rotationDegrees(xDirection * 45)); + view.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(xDirection * 45)); InventoryScreen.drawEntity(0, 0, scale, 0, -20, client.player); view.pop(); RenderSystem.applyModelViewMatrix(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/EquippedSpellSlot.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/EquippedSpellSlot.java index a0a228f7..a2235536 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/EquippedSpellSlot.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/EquippedSpellSlot.java @@ -2,8 +2,6 @@ package com.minelittlepony.unicopia.client.gui.spellbook; import java.util.List; -import org.joml.Vector4f; - import com.minelittlepony.common.client.gui.element.Button; import com.minelittlepony.unicopia.ability.magic.spell.effect.CustomisedSpellType; import com.mojang.blaze3d.systems.RenderSystem; @@ -14,6 +12,7 @@ import net.minecraft.client.item.TooltipContext; import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.client.sound.SoundManager; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.math.Vector4f; public class EquippedSpellSlot extends Button { @@ -28,7 +27,7 @@ public class EquippedSpellSlot extends Button { if (spell.isEmpty()) { return List.of(); } - return spell.getDefaultStack().getTooltip(MinecraftClient.getInstance().player, TooltipContext.Default.BASIC); + return spell.getDefaultStack().getTooltip(MinecraftClient.getInstance().player, TooltipContext.Default.NORMAL); }); } @@ -41,7 +40,7 @@ public class EquippedSpellSlot extends Button { drawTexture(matrices, getX() - 8, getY() - 8, 0, 0, 32, 32, 32, 32); Vector4f pos = new Vector4f(getX(), getY(), 0, 1); - pos.mul(matrices.peek().getPositionMatrix()); + pos.transform(matrices.peek().getPositionMatrix()); if (spell.isEmpty()) { RenderSystem.setShaderColor(1, 1, 1, 0.3F); @@ -52,7 +51,7 @@ public class EquippedSpellSlot extends Button { } else { RenderSystem.disableBlend(); RenderSystem.setShaderColor(1, 1, 1, 1); - drawItem((int)pos.x, (int)pos.y); + drawItem((int)pos.getX(), (int)pos.getY()); } if (isHovered()) { HandledScreen.drawSlotHighlight(matrices, getX(), getY(), 0); diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/IngredientTree.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/IngredientTree.java index 179763ca..0acb520e 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/IngredientTree.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/IngredientTree.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; -import org.joml.Vector4f; - import com.minelittlepony.common.client.gui.*; import com.minelittlepony.common.client.gui.element.Button; import com.minelittlepony.unicopia.ability.magic.spell.crafting.SpellbookRecipe; @@ -22,6 +20,7 @@ import net.minecraft.client.render.model.json.ModelTransformation; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.ItemStack; import net.minecraft.screen.PlayerScreenHandler; +import net.minecraft.util.math.Vector4f; class IngredientTree implements SpellbookRecipe.CraftingTreeBuilder { private final List entries = new ArrayList<>(); @@ -174,8 +173,8 @@ class IngredientTree implements SpellbookRecipe.CraftingTreeBuilder { } Vector4f pos = new Vector4f(x, y, 0, 1); - pos.mul(matrices.peek().getPositionMatrix()); - drawItem((int)pos.x, (int)pos.y); + pos.transform(matrices.peek().getPositionMatrix()); + drawItem((int)pos.getX(), (int)pos.getY()); } protected void drawItem(int x, int y) { @@ -188,7 +187,7 @@ class IngredientTree implements SpellbookRecipe.CraftingTreeBuilder { if (stacks[index].isEmpty()) { return List.of(); } - return stacks[index].getTooltip(MinecraftClient.getInstance().player, TooltipContext.Default.BASIC); + return stacks[index].getTooltip(MinecraftClient.getInstance().player, TooltipContext.Default.NORMAL); }; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookScreen.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookScreen.java index cafee812..78053fcc 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookScreen.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookScreen.java @@ -295,7 +295,7 @@ public class SpellbookScreen extends HandledScreen imple @Override public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float tickDelta) { - RenderSystem.setShader(GameRenderer::getPositionTexProgram); + RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderColor(1, 1, 1, alpha); RenderSystem.defaultBlendFunc(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/AmuletGear.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/AmuletGear.java index fad07825..a199ee06 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/AmuletGear.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/AmuletGear.java @@ -19,7 +19,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; class AmuletGear extends AmuletModel implements IGear { @@ -41,7 +41,7 @@ class AmuletGear extends AmuletModel implements IGear { @Override public Identifier getTexture(T entity, Context context) { - return textures.computeIfAbsent(Registries.ITEM.getId(AmuletItem.getForEntity((LivingEntity)entity).getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); + return textures.computeIfAbsent(Registry.ITEM.getId(AmuletItem.getForEntity((LivingEntity)entity).getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/GlassesGear.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/GlassesGear.java index ab06f473..5fa2e2d0 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/GlassesGear.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/GlassesGear.java @@ -16,7 +16,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; class GlassesGear extends GlassesModel implements IGear { @@ -38,7 +38,7 @@ class GlassesGear extends GlassesModel implements IGear { @Override public Identifier getTexture(T entity, Context context) { - return textures.computeIfAbsent(Registries.ITEM.getId(GlassesItem.getForEntity((LivingEntity)entity).getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); + return textures.computeIfAbsent(Registry.ITEM.getId(GlassesItem.getForEntity((LivingEntity)entity).getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/WingsGear.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/WingsGear.java index 1b574ae8..71cbb304 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/WingsGear.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/WingsGear.java @@ -75,7 +75,7 @@ class WingsGear implements IGear { @Override public void render(MatrixStack stack, VertexConsumer consumer, int light, int overlay, float red, float green, float blue, float alpha, UUID interpolatorId) { - model.getWings().renderPart(stack, consumer, light, overlay, red, green, blue, alpha, interpolatorId); + model.getWings().renderPart(stack, consumer, light, overlay, red, green, blue, alpha, model.getAttributes()); } static class Model extends PegasusModel { diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/AbstractGeometryBasedParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/AbstractGeometryBasedParticle.java index fffcade8..6a854307 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/AbstractGeometryBasedParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/AbstractGeometryBasedParticle.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.client.particle; -import org.joml.Vector3f; - import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleTextureSheet; import net.minecraft.client.render.BufferBuilder; @@ -10,6 +8,7 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexFormat; import net.minecraft.client.render.VertexFormats; import net.minecraft.client.world.ClientWorld; +import net.minecraft.util.math.Vec3f; public abstract class AbstractGeometryBasedParticle extends Particle { @@ -24,23 +23,23 @@ public abstract class AbstractGeometryBasedParticle extends Particle { return ParticleTextureSheet.CUSTOM; } - protected final void renderQuad(Tessellator te, BufferBuilder buffer, Vector3f[] corners, float alpha, float tickDelta) { + protected final void renderQuad(Tessellator te, BufferBuilder buffer, Vec3f[] corners, float alpha, float tickDelta) { int light = getBrightness(tickDelta); buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR_LIGHT); - buffer.vertex(corners[0].x, corners[0].y, corners[0].z).texture(0, 0).color(red, green, blue, alpha).light(light).next(); - buffer.vertex(corners[1].x, corners[1].y, corners[1].z).texture(1, 0).color(red, green, blue, alpha).light(light).next(); - buffer.vertex(corners[2].x, corners[2].y, corners[2].z).texture(1, 1).color(red, green, blue, alpha).light(light).next(); - buffer.vertex(corners[3].x, corners[3].y, corners[3].z).texture(0, 1).color(red, green, blue, alpha).light(light).next(); + buffer.vertex(corners[0].getX(), corners[0].getY(), corners[0].getZ()).texture(0, 0).color(red, green, blue, alpha).light(light).next(); + buffer.vertex(corners[1].getX(), corners[1].getY(), corners[1].getZ()).texture(1, 0).color(red, green, blue, alpha).light(light).next(); + buffer.vertex(corners[2].getX(), corners[2].getY(), corners[2].getZ()).texture(1, 1).color(red, green, blue, alpha).light(light).next(); + buffer.vertex(corners[3].getX(), corners[3].getY(), corners[3].getZ()).texture(0, 1).color(red, green, blue, alpha).light(light).next(); te.draw(); } - protected final void renderQuad(VertexConsumer buffer, Vector3f[] corners, float alpha, float tickDelta) { + protected final void renderQuad(VertexConsumer buffer, Vec3f[] corners, float alpha, float tickDelta) { int light = getBrightness(tickDelta); - for (Vector3f corner : corners) { - buffer.vertex(corner.x, corner.y, corner.z).color(red, green, blue, alpha).light(light).next(); + for (Vec3f corner : corners) { + buffer.vertex(corner.getX(), corner.getY(), corner.getZ()).color(red, green, blue, alpha).light(light).next(); } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/ChangelingMagicParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/ChangelingMagicParticle.java index 57a7dc65..988dea78 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/ChangelingMagicParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/ChangelingMagicParticle.java @@ -1,10 +1,9 @@ package com.minelittlepony.unicopia.client.particle; -import org.joml.Vector3f; - import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.ParticleEffect; +import net.minecraft.util.math.Vec3f; public class ChangelingMagicParticle extends MagicParticle { @@ -15,8 +14,8 @@ public class ChangelingMagicParticle extends MagicParticle { this.provider = provider; } - static Vector3f nextColor(float intensity) { - return new Vector3f(intensity * 0.5F, intensity, intensity * 0.4F); + static Vec3f nextColor(float intensity) { + return new Vec3f(intensity * 0.5F, intensity, intensity * 0.4F); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/DiskParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/DiskParticle.java index ec192449..0b2bdaed 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/DiskParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/DiskParticle.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.client.particle; -import org.joml.Quaternionf; - import com.minelittlepony.unicopia.client.render.model.SphereModel; import com.minelittlepony.unicopia.particle.SphereParticleEffect; @@ -12,13 +10,13 @@ import net.minecraft.util.math.*; public class DiskParticle extends SphereParticle { - private final Quaternionf rotation = new Quaternionf(0, 0, 0, 1); + private final Quaternion rotation = new Quaternion(0, 0, 0, 1); public DiskParticle(SphereParticleEffect effect, ClientWorld w, double x, double y, double z, double rX, double rY, double rZ) { super(effect, w, x, y, z, 0, 0, 0); - rotation.mul(RotationAxis.POSITIVE_Y.rotationDegrees((float)effect.getOffset().y)); - rotation.mul(RotationAxis.POSITIVE_X.rotationDegrees(90 - (float)effect.getOffset().x)); + rotation.hamiltonProduct(Vec3f.POSITIVE_Y.getDegreesQuaternion((float)effect.getOffset().y)); + rotation.hamiltonProduct(Vec3f.POSITIVE_X.getDegreesQuaternion(90 - (float)effect.getOffset().x)); effect.setOffset(new Vec3d(0, 0.25, 0)); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/LightningBoltParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/LightningBoltParticle.java index 89762279..24adc179 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/LightningBoltParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/LightningBoltParticle.java @@ -3,8 +3,6 @@ package com.minelittlepony.unicopia.client.particle; import java.util.ArrayList; import java.util.List; -import org.joml.Vector3f; - import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.MinecraftClient; @@ -18,10 +16,11 @@ import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.Vec3f; public class LightningBoltParticle extends AbstractGeometryBasedParticle { - private final List> branches = new ArrayList<>(); + private final List> branches = new ArrayList<>(); public LightningBoltParticle(DefaultParticleType type, ClientWorld world, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { super(world, x, y, z, velocityX, velocityY, velocityZ); @@ -50,21 +49,21 @@ public class LightningBoltParticle extends AbstractGeometryBasedParticle { world.setLightningTicksLeft(2); } - private List generateBranch() { - Vector3f startPos = new Vector3f(0, 0, 0); + private List generateBranch() { + Vec3f startPos = new Vec3f(0, 0, 0); int intendedLength = 2 + world.random.nextInt(6); - List nodes = new ArrayList<>(); + List nodes = new ArrayList<>(); while (nodes.size() < intendedLength) { - startPos = startPos.add( + startPos.add( (float)world.random.nextTriangular(0.1F, 3), (float)world.random.nextTriangular(0.1F, 3), (float)world.random.nextTriangular(0.1F, 3) ); - nodes.add(startPos); + nodes.add(startPos.copy()); } return nodes; @@ -83,11 +82,14 @@ public class LightningBoltParticle extends AbstractGeometryBasedParticle { float y = (float)(MathHelper.lerp(tickDelta, prevPosY, this.y) - cam.getY()); float z = (float)(MathHelper.lerp(tickDelta, prevPosZ, this.z) - cam.getZ()); - Vector3f origin = new Vector3f(x, y, z); + Vec3f origin = new Vec3f(x, y, z); - for (List branch : branches) { + for (List branch : branches) { for (int i = 0; i < branch.size(); i++) { - renderBranch(buffer, i == 0 ? origin : new Vector3f(branch.get(i - 1).add(x, y, z)), new Vector3f(branch.get(i).add(x, y, z))); + renderBranch( + buffer, i == 0 ? origin : new Vec3f(branch.get(i - 1).getX() + x, branch.get(i - 1).getY() + y, branch.get(i - 1).getZ() + z), + new Vec3f(branch.get(i).getX() + x, branch.get(i).getY() + y, branch.get(i).getZ() + z) + ); } } @@ -96,29 +98,29 @@ public class LightningBoltParticle extends AbstractGeometryBasedParticle { RenderSystem.enableCull(); } - private void renderBranch(VertexConsumer buffer, Vector3f from, Vector3f to) { + private void renderBranch(VertexConsumer buffer, Vec3f from, Vec3f to) { float thickness = world.random.nextFloat() / 30 + 0.01F; - renderQuad(buffer, new Vector3f[]{ - new Vector3f(from.x - thickness, from.y, from.z), - new Vector3f(to.x - thickness, to.y, to.z), - new Vector3f(to.x + thickness, to.y, to.z), - new Vector3f(from.x + thickness, from.y, from.z), + renderQuad(buffer, new Vec3f[]{ + new Vec3f(from.getX() - thickness, from.getY(), from.getX()), + new Vec3f(to.getX() - thickness, to.getY(), to.getZ()), + new Vec3f(to.getX() + thickness, to.getY(), to.getZ()), + new Vec3f(from.getX() + thickness, from.getY(), from.getZ()), - new Vector3f(from.x - thickness, from.y - thickness * 2, from.z), - new Vector3f(to.x - thickness, to.y - thickness * 2, to.z), - new Vector3f(to.x + thickness, to.y - thickness * 2, to.z), - new Vector3f(from.x + thickness, from.y - thickness * 2, from.z), + new Vec3f(from.getX() - thickness, from.getY() - thickness * 2, from.getZ()), + new Vec3f(to.getX() - thickness, to.getY() - thickness * 2, to.getZ()), + new Vec3f(to.getX() + thickness, to.getY() - thickness * 2, to.getZ()), + new Vec3f(from.getX() + thickness, from.getY() - thickness * 2, from.getZ()), - new Vector3f(from.x, from.y - thickness, from.z + thickness), - new Vector3f(to.x, to.y - thickness, to.z + thickness), - new Vector3f(to.x, to.y + thickness, to.z + thickness), - new Vector3f(from.x, from.y + thickness, from.z + thickness), + new Vec3f(from.getX(), from.getY() - thickness, from.getZ() + thickness), + new Vec3f(to.getX(), to.getY() - thickness, to.getZ() + thickness), + new Vec3f(to.getX(), to.getY() + thickness, to.getZ() + thickness), + new Vec3f(from.getX(), from.getY() + thickness, from.getZ() + thickness), - new Vector3f(from.x - thickness * 2, from.y - thickness, from.z + thickness), - new Vector3f(to.x - thickness * 2, to.y - thickness, to.z + thickness), - new Vector3f(to.x - thickness * 2, to.y + thickness, to.z + thickness), - new Vector3f(from.x - thickness * 2, from.y + thickness, from.z + thickness) + new Vec3f(from.getX() - thickness * 2, from.getY() - thickness, from.getZ() + thickness), + new Vec3f(to.getX() - thickness * 2, to.getY() - thickness, to.getZ() + thickness), + new Vec3f(to.getX() - thickness * 2, to.getY() + thickness, to.getZ() + thickness), + new Vec3f(from.getX() - thickness * 2, from.getY() + thickness, from.getZ() + thickness) }, 0.3F, 1); } } 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 700963a6..d0c268e0 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/MagicParticle.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.client.particle; -import org.joml.Vector3f; - import com.minelittlepony.unicopia.particle.MagicParticleEffect; import net.minecraft.client.particle.ParticleTextureSheet; @@ -9,13 +7,14 @@ import net.minecraft.client.particle.SpriteBillboardParticle; import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.ParticleEffect; +import net.minecraft.util.math.Vec3f; public class MagicParticle extends SpriteBillboardParticle { private final double startX; private final double startY; private final double startZ; - MagicParticle(ParticleEffect effect, SpriteProvider provider, ClientWorld w, double x, double y, double z, double vX, double vY, double vZ, Vector3f color, float alpha) { + MagicParticle(ParticleEffect effect, SpriteProvider provider, ClientWorld w, double x, double y, double z, double vX, double vY, double vZ, Vec3f color, float alpha) { super(w, x, y, z); setSprite(provider); @@ -28,9 +27,9 @@ public class MagicParticle extends SpriteBillboardParticle { scale = random.nextFloat() * 0.12F; maxAge = (int)(Math.random() * 10) + 20; - red = color.x; - green = color.y; - blue = color.z; + red = color.getX(); + green = color.getY(); + blue = color.getZ(); this.alpha = alpha; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/OrientedBillboardParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/OrientedBillboardParticle.java index d73d5edd..0a80deba 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/OrientedBillboardParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/OrientedBillboardParticle.java @@ -1,8 +1,5 @@ package com.minelittlepony.unicopia.client.particle; -import org.joml.Quaternionf; -import org.joml.Vector3f; - import com.minelittlepony.unicopia.particle.OrientedBillboardParticleEffect; import net.minecraft.client.render.BufferBuilder; @@ -15,16 +12,15 @@ import net.minecraft.util.math.*; public abstract class OrientedBillboardParticle extends AbstractBillboardParticle { protected boolean fixed; - protected Quaternionf rotation = new Quaternionf(0, 0, 0, 1); + protected Quaternion rotation = new Quaternion(0, 0, 0, 1); public OrientedBillboardParticle(OrientedBillboardParticleEffect effect, ClientWorld world, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { super(world, x, y, z, velocityX, velocityY, velocityZ); fixed = effect.isAngleFixed(); if (fixed) { - // Was hamiltonianProduct (CHECK THIS!!) - rotation.mul(RotationAxis.POSITIVE_Y.rotationDegrees(effect.getPitch())); - rotation.mul(RotationAxis.POSITIVE_X.rotationDegrees(180 - effect.getYaw())); + rotation.hamiltonProduct(Vec3f.POSITIVE_Y.getDegreesQuaternion(effect.getPitch())); + rotation.hamiltonProduct(Vec3f.POSITIVE_X.getDegreesQuaternion(180 - effect.getYaw())); } } @@ -38,18 +34,18 @@ public abstract class OrientedBillboardParticle extends AbstractBillboardParticl @Override protected void renderQuads(Tessellator te, BufferBuilder buffer, float x, float y, float z, float tickDelta) { - Vector3f[] corners = new Vector3f[]{ - new Vector3f(-1, -1, 0), - new Vector3f(-1, 1, 0), - new Vector3f( 1, 1, 0), - new Vector3f( 1, -1, 0) + Vec3f[] corners = new Vec3f[]{ + new Vec3f(-1, -1, 0), + new Vec3f(-1, 1, 0), + new Vec3f( 1, 1, 0), + new Vec3f( 1, -1, 0) }; float scale = getScale(tickDelta); for(int k = 0; k < 4; ++k) { - Vector3f corner = corners[k]; + Vec3f corner = corners[k]; corner.rotate(rotation); - corner.mul(scale); + corner.scale(scale); corner.add(x, y, z); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/RainbowTrailParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/RainbowTrailParticle.java index 94645e37..d783a7b9 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/RainbowTrailParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/RainbowTrailParticle.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; -import org.joml.Vector3f; - import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.entity.player.Pony; @@ -19,6 +17,7 @@ import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.DefaultParticleType; import net.minecraft.util.Identifier; import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.Vec3f; public class RainbowTrailParticle extends AbstractBillboardParticle implements Attachment { private static final Identifier TEXTURE = Unicopia.id("textures/particles/rainboom_trail.png"); @@ -67,12 +66,12 @@ public class RainbowTrailParticle extends AbstractBillboardParticle implements A float alpha = 1 - (float)age / maxAge; for (int i = 0; i < segments.size() - 1; i++) { - Vector3f[] corners = segments.get(i).getPlane(segments.get(i + 1)); + Vec3f[] corners = segments.get(i).getPlane(segments.get(i + 1)); float scale = getScale(tickDelta); for (int k = 0; k < 4; ++k) { - Vector3f corner = corners[k]; - corner.mul(scale); + Vec3f corner = corners[k]; + corner.scale(scale); corner.add(x, y, z); } @@ -114,14 +113,14 @@ public class RainbowTrailParticle extends AbstractBillboardParticle implements A private final class Segment { Vec3d position; - Vector3f offset; + Vec3f offset; int age; int maxAge; Segment(Vec3d position) { this.position = position; - this.offset = new Vector3f((float)(position.getX() - x), (float)(position.getY() - y), (float)(position.getZ() - z)); + this.offset = new Vec3f((float)(position.getX() - x), (float)(position.getY() - y), (float)(position.getZ() - z)); this.maxAge = 90; } @@ -133,23 +132,23 @@ public class RainbowTrailParticle extends AbstractBillboardParticle implements A return segments.indexOf(this) < segments.size() - 1 && age++ >= maxAge; } - Vector3f[] getPlane(Segment to) { - float fromX = offset.x; - float toX = to.offset.x; + Vec3f[] getPlane(Segment to) { + float fromX = offset.getX(); + float toX = to.offset.getX(); - float fromZ = offset.z; - float toZ = to.offset.z; - float fromTopY = offset.y + 1; - float fromBottomY = offset.y; + float fromZ = offset.getZ(); + float toZ = to.offset.getZ(); + float fromTopY = offset.getY() + 1; + float fromBottomY = offset.getY(); - float toTopY = to.offset.y + 1; - float toBottomY = to.offset.y; + float toTopY = to.offset.getY() + 1; + float toBottomY = to.offset.getY(); - return new Vector3f[]{ - new Vector3f(fromX, fromBottomY, fromZ), // bottom left - new Vector3f(fromX, fromTopY, fromZ), // top left - new Vector3f(toX, toTopY, toZ), // top right - new Vector3f(toX, toBottomY, toZ) // bottom right + return new Vec3f[]{ + new Vec3f(fromX, fromBottomY, fromZ), // bottom left + new Vec3f(fromX, fromTopY, fromZ), // top left + new Vec3f(toX, toTopY, toZ), // top right + new Vec3f(toX, toBottomY, toZ) // bottom right }; } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/RunesParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/RunesParticle.java index aa785aa6..23354765 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/RunesParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/RunesParticle.java @@ -2,9 +2,6 @@ package com.minelittlepony.unicopia.client.particle; import java.util.Optional; -import org.joml.Quaternionf; -import org.joml.Vector3f; - import com.minelittlepony.common.util.Color; import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.ability.magic.Caster; @@ -89,11 +86,11 @@ public class RunesParticle extends OrientedBillboardParticle implements Attachme targetSize = value.floatValue(); } if (key == ATTR_PITCH) { - rotation = new Quaternionf(0, 0, 0, 1); - rotation.mul(RotationAxis.POSITIVE_Y.rotationDegrees(value.floatValue())); + rotation = new Quaternion(0, 0, 0, 1); + rotation.hamiltonProduct(Vec3f.POSITIVE_Y.getDegreesQuaternion(value.floatValue())); } if (key == ATTR_YAW) { - rotation.mul(RotationAxis.POSITIVE_X.rotationDegrees(180 - value.floatValue())); + rotation.hamiltonProduct(Vec3f.POSITIVE_X.getDegreesQuaternion(180 - value.floatValue())); } } @@ -129,27 +126,27 @@ public class RunesParticle extends OrientedBillboardParticle implements Attachme RenderSystem.setShaderTexture(0, TEXTURES[i]); RenderSystem.setShaderColor(red, green, blue, alpha / ((float)(dim * 3) + 1)); - Vector3f[] corners = new Vector3f[]{ - new Vector3f(-1, -1, 0), - new Vector3f(-1, 1, 0), - new Vector3f( 1, 1, 0), - new Vector3f( 1, -1, 0) + Vec3f[] corners = new Vec3f[]{ + new Vec3f(-1, -1, 0), + new Vec3f(-1, 1, 0), + new Vec3f( 1, 1, 0), + new Vec3f( 1, -1, 0) }; float scale = getScale(tickDelta); float ringSpeed = (i % 2 == 0 ? i : -1) * i; - Quaternionf ringAngle = RotationAxis.POSITIVE_Z.rotationDegrees(angle * ringSpeed); - Quaternionf ringFlip = RotationAxis.POSITIVE_Y.rotationDegrees(angle * ringSpeed * dim); - Quaternionf ringRoll = RotationAxis.POSITIVE_X.rotationDegrees(angle * ringSpeed * dim); + Quaternion ringAngle = Vec3f.POSITIVE_Z.getDegreesQuaternion(angle * ringSpeed); + Quaternion ringFlip = Vec3f.POSITIVE_Y.getDegreesQuaternion(angle * ringSpeed * dim); + Quaternion ringRoll = Vec3f.POSITIVE_X.getDegreesQuaternion(angle * ringSpeed * dim); for(int k = 0; k < 4; ++k) { - Vector3f corner = corners[k]; + Vec3f corner = corners[k]; corner.rotate(ringAngle); corner.rotate(ringFlip); corner.rotate(ringRoll); corner.rotate(rotation); - corner.mul(scale); + corner.scale(scale); corner.add(x, y + 0.001F, z); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/particle/SphereParticle.java b/src/main/java/com/minelittlepony/unicopia/client/particle/SphereParticle.java index 29eb937c..0213315d 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/particle/SphereParticle.java +++ b/src/main/java/com/minelittlepony/unicopia/client/particle/SphereParticle.java @@ -50,9 +50,9 @@ public class SphereParticle extends Particle implements Attachment { super(w, x, y, z); this.parameters = parameters; this.radius = parameters.getRadius(); - this.red = parameters.getColor().x / 255F; - this.green = parameters.getColor().y / 255F; - this.blue = parameters.getColor().z / 255F; + this.red = parameters.getColor().getX() / 255F; + this.green = parameters.getColor().getY() / 255F; + this.blue = parameters.getColor().getZ() / 255F; this.alpha = parameters.getAlpha(); setMaxAge(10); @@ -158,7 +158,7 @@ public class SphereParticle extends Particle implements Attachment { RenderSystem.enableCull(); RenderSystem.depthMask(true); RenderSystem.setShaderColor(1, 1, 1, 1); - RenderSystem.setShader(GameRenderer::getParticleProgram); + RenderSystem.setShader(GameRenderer::getParticleShader); } protected void renderModel(MatrixStack matrices, VertexConsumer buffer, float lerpedRad, float tickDelta, int light) { diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/AmuletFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/AmuletFeatureRenderer.java index f2a2c54f..b504b087 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/AmuletFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/AmuletFeatureRenderer.java @@ -24,7 +24,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class AmuletFeatureRenderer implements AccessoryFeatureRenderer.Feature { @@ -45,7 +45,7 @@ public class AmuletFeatureRenderer implements AccessoryF ItemStack stack = AmuletItem.getForEntity(entity); if (!stack.isEmpty()) { - Identifier texture = textures.computeIfAbsent(Registries.ITEM.getId(stack.getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); + Identifier texture = textures.computeIfAbsent(Registry.ITEM.getId(stack.getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); VertexConsumer consumer = ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayer.getArmorCutoutNoCull(texture), false, false); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/FloatingArtefactEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/FloatingArtefactEntityRenderer.java index ca0144e8..2a1f0f55 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/FloatingArtefactEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/FloatingArtefactEntityRenderer.java @@ -14,7 +14,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.ItemStack; import net.minecraft.screen.PlayerScreenHandler; import net.minecraft.util.Identifier; -import net.minecraft.util.math.RotationAxis; +import net.minecraft.util.math.Vec3f; public class FloatingArtefactEntityRenderer extends EntityRenderer { @@ -38,14 +38,14 @@ public class FloatingArtefactEntityRenderer extends EntityRenderer implements AccessoryFeatureRenderer.Feature { @@ -39,7 +39,7 @@ public class GlassesFeatureRenderer implements Accessory ItemStack stack = GlassesItem.getForEntity(entity); if (!stack.isEmpty()) { - Identifier texture = textures.computeIfAbsent(Registries.ITEM.getId(stack.getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); + Identifier texture = textures.computeIfAbsent(Registry.ITEM.getId(stack.getItem()), id -> new Identifier(id.getNamespace(), "textures/models/armor/" + id.getPath() + ".png")); VertexConsumer consumer = ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayer.getArmorCutoutNoCull(texture), false, false); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java index 91e05127..190255bb 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java @@ -29,7 +29,7 @@ public class HeldEntityFeatureRenderer implements Access float leanAmount = ((LivingEntityDuck)entity).getLeaningPitch(); matrices.push(); - matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(180 - leanAmount * 90)); + matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(180 - leanAmount * 90)); Vec3d carryPosition = getCarryPosition(Living.living(entity), passenger) .rotateX(-leanAmount * MathHelper.PI / 4F) @@ -37,7 +37,7 @@ public class HeldEntityFeatureRenderer implements Access matrices.translate(carryPosition.x, carryPosition.y, carryPosition.z); if (!(passenger instanceof Pony)) { - matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(90)); + matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(90)); } renderCarriedEntity(passenger.asEntity(), matrices, vertexConsumers, light, tickDelta); @@ -60,9 +60,9 @@ public class HeldEntityFeatureRenderer implements Access matrices.push(); matrices.translate(f, g, h); matrices.translate(0, -1.3F, -1.3F); - matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(13)); + matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(13)); if (!(passenger instanceof Pony)) { - matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(90)); + matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(90)); } renderCarriedEntity(passenger.asEntity(), matrices, vertexConsumers, light, tickDelta); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java b/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java index d277a690..73b103bb 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/PlayerPoser.java @@ -215,7 +215,7 @@ public class PlayerPoser { private void rearUp(MatrixStack matrices, BipedEntityModel model, float progress) { matrices.translate(0, 0, 0.5); - matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(-45 * progress)); + matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(-45 * progress)); matrices.translate(0, 0, -0.5); float roll = progress / 2F; diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java index ece97b2a..3ccab3c5 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java @@ -6,7 +6,7 @@ import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry.DynamicItemRenderer; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.item.ClampedModelPredicateProvider; +import net.minecraft.client.item.UnclampedModelPredicateProvider; import net.minecraft.client.item.ModelPredicateProviderRegistry; import net.minecraft.client.model.*; import net.minecraft.client.render.VertexConsumerProvider; @@ -20,9 +20,9 @@ import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.LivingEntity; import net.minecraft.item.*; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; -public class PolearmRenderer implements DynamicItemRenderer, ClampedModelPredicateProvider { +public class PolearmRenderer implements DynamicItemRenderer, UnclampedModelPredicateProvider { private static final PolearmRenderer INSTANCE = new PolearmRenderer(); private static final Identifier THROWING = new Identifier("throwing"); @@ -36,7 +36,7 @@ public class PolearmRenderer implements DynamicItemRenderer, ClampedModelPredica } static ModelIdentifier getModelId(ItemConvertible item) { - Identifier id = Registries.ITEM.getId(item.asItem()); + Identifier id = Registry.ITEM.getId(item.asItem()); return new ModelIdentifier(new Identifier(id.getNamespace(), id.getPath() + "_in_inventory"), "inventory"); } @@ -68,7 +68,7 @@ public class PolearmRenderer implements DynamicItemRenderer, ClampedModelPredica } else { matrices.push(); matrices.scale(1, -1, -1); - Identifier id = Registries.ITEM.getId(stack.getItem()); + Identifier id = Registry.ITEM.getId(stack.getItem()); Identifier texture = new Identifier(id.getNamespace(), "textures/entity/polearm/" + id.getPath() + ".png"); model.render(matrices, MineLPDelegate.getInstance().getItemBuffer(vertexConsumers, texture).orElseGet(() -> { return ItemRenderer.getDirectItemGlintConsumer(vertexConsumers, model.getLayer(texture), false, stack.hasGlint()); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayers.java b/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayers.java index 1d9addd8..b73c6191 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayers.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayers.java @@ -17,7 +17,7 @@ public final class RenderLayers extends RenderLayer { private static final RenderLayer MAGIC_NO_COLOR = of("magic_no_color", VertexFormats.POSITION_COLOR_TEXTURE_OVERLAY_LIGHT_NORMAL, VertexFormat.DrawMode.QUADS, 256, true, true, MultiPhaseParameters.builder() - .program(COLOR_PROGRAM) + .shader(COLOR_SHADER) .transparency(TRANSLUCENT_TRANSPARENCY) .target(TRANSLUCENT_TARGET) .build(false)); @@ -27,7 +27,7 @@ public final class RenderLayers extends RenderLayer { VertexFormats.POSITION_COLOR_TEXTURE_OVERLAY_LIGHT_NORMAL, VertexFormat.DrawMode.QUADS, 256, true, true, MultiPhaseParameters.builder() - .program(COLOR_PROGRAM) + .shader(COLOR_SHADER) .transparency(TRANSLUCENT_TRANSPARENCY) // .target(TRANSLUCENT_TARGET) .texturing(solid(Color.r(color), Color.g(color), Color.b(color), 0.6F)) diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/WorldRenderDelegate.java b/src/main/java/com/minelittlepony/unicopia/client/render/WorldRenderDelegate.java index 2d13df69..c8962bef 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/WorldRenderDelegate.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/WorldRenderDelegate.java @@ -120,8 +120,8 @@ public class WorldRenderDelegate { matrices.translate(x, y + owner.getHeight() / 2, z); - matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(roll)); - matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(roll)); + matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(roll)); + matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(roll)); if (pony instanceof Pony) { roll = ((Pony)pony).getCamera().calculateRoll(); @@ -129,9 +129,9 @@ public class WorldRenderDelegate { roll -= 180; } - matrices.multiply(RotationAxis.NEGATIVE_Y.rotationDegrees(yaw)); - matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(roll)); - matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(yaw)); + matrices.multiply(Vec3f.NEGATIVE_Y.getDegreesQuaternion(yaw)); + matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(roll)); + matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(yaw)); } matrices.translate(-x, -y - owner.getHeight() / 2, -z); @@ -206,7 +206,7 @@ public class WorldRenderDelegate { matrices.translate(x, y, z); matrices.multiply(direction.getRotationQuaternion()); - matrices.multiply(RotationAxis.NEGATIVE_X.rotationDegrees(90)); + matrices.multiply(Vec3f.NEGATIVE_X.getDegreesQuaternion(90)); matrices.translate(-0.5, 0, -0.5); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java index cb2f955b..d72ba20b 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java @@ -36,11 +36,11 @@ public class SpellbookEntityRenderer extends LivingEntityRenderer vertices = new ArrayList<>(); protected void addVertex(Vector4f vertex) { - addVertex(vertex.x, vertex.y, vertex.z, 0, 0); + addVertex(vertex.getX(), vertex.getY(), vertex.getZ(), 0, 0); } protected void addVertex(float x, float y, float z, float u, float v) { @@ -31,8 +30,8 @@ public class BakedModel { Matrix4f model = matrices.peek().getPositionMatrix(); for (Vertex vertex : vertices) { drawVert.set(vertex.x() * scale, vertex.y() * scale, vertex.z() * scale, 1); - drawVert.mul(model); - vertexWriter.vertex(drawVert.x, drawVert.y, drawVert.z, r, g, b, a, vertex.u(), vertex.v(), overlay, light, 0, 0, 0); + drawVert.transform(model); + vertexWriter.vertex(drawVert.getX(), drawVert.getY(), drawVert.getZ(), r, g, b, a, vertex.u(), vertex.v(), overlay, light, 0, 0, 0); } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/model/SphereModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/model/SphereModel.java index 1d94ae8a..346de50e 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/model/SphereModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/model/SphereModel.java @@ -2,11 +2,10 @@ package com.minelittlepony.unicopia.client.render.model; import java.util.function.Consumer; -import org.joml.Vector4f; - import com.minelittlepony.unicopia.client.gui.DrawableUtil; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vector4f; public class SphereModel extends BakedModel { public static final SphereModel SPHERE = new SphereModel(40, 40, DrawableUtil.TAU); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/shader/ViewportShader.java b/src/main/java/com/minelittlepony/unicopia/client/render/shader/ViewportShader.java index e6aa69c9..f79027b1 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/shader/ViewportShader.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/shader/ViewportShader.java @@ -94,10 +94,10 @@ public class ViewportShader implements SynchronousResourceReloader, Identifiable } } - static class LoadedShader extends PostEffectProcessor { + static class LoadedShader extends ShaderEffect { private final Object2FloatMap uniformValues = new Object2FloatOpenHashMap<>(); - private Multimap programs; + private Multimap programs; private final Identifier id; @@ -111,8 +111,8 @@ public class ViewportShader implements SynchronousResourceReloader, Identifiable } @Override - public PostEffectPass addPass(String programName, Framebuffer source, Framebuffer dest) throws IOException { - PostEffectPass pass = super.addPass(programName, source, dest); + public PostProcessShader addPass(String programName, Framebuffer source, Framebuffer dest) throws IOException { + PostProcessShader pass = super.addPass(programName, source, dest); if (programs == null) { programs = LinkedListMultimap.create(); } diff --git a/src/main/java/com/minelittlepony/unicopia/command/DisguiseCommand.java b/src/main/java/com/minelittlepony/unicopia/command/DisguiseCommand.java index 0eb9a4ff..a4b3829a 100644 --- a/src/main/java/com/minelittlepony/unicopia/command/DisguiseCommand.java +++ b/src/main/java/com/minelittlepony/unicopia/command/DisguiseCommand.java @@ -22,8 +22,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.util.Identifier; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; @@ -49,13 +48,13 @@ public class DisguiseCommand { } private static ArgumentBuilder buildEntityDisguise(Arg targetOp, CommandRegistryAccess registries) { - return CommandManager.argument("entity", RegistryEntryArgumentType.registryEntry(registries, RegistryKeys.ENTITY_TYPE)) + return CommandManager.argument("entity", EntitySummonArgumentType.entitySummon()) .suggests(SuggestionProviders.SUMMONABLE_ENTITIES) .executes(context -> disguise( context.getSource(), targetOp.apply(context), loadEntity(context.getSource(), - RegistryEntryArgumentType.getSummonableEntityType(context, "entity"), + EntitySummonArgumentType.getEntitySummon(context, "entity"), new NbtCompound()))) .then( CommandManager.argument("nbt", NbtCompoundArgumentType.nbtCompound()) @@ -63,7 +62,7 @@ public class DisguiseCommand { context.getSource(), targetOp.apply(context), loadEntity(context.getSource(), - RegistryEntryArgumentType.getSummonableEntityType(context, "entity"), + EntitySummonArgumentType.getEntitySummon(context, "entity"), NbtCompoundArgumentType.getNbtCompound(context, "nbt")))) ); } @@ -99,9 +98,9 @@ public class DisguiseCommand { return 0; } - static Entity loadEntity(ServerCommandSource source, RegistryEntry.Reference> entityType, NbtCompound nbt) { + static Entity loadEntity(ServerCommandSource source, Identifier entityType, NbtCompound nbt) { nbt = nbt.copy(); - nbt.putString("id", entityType.registryKey().getValue().toString()); + nbt.putString("id", entityType.toString()); return EntityType.loadEntityWithPassengers(nbt, source.getWorld(), Function.identity()); } diff --git a/src/main/java/com/minelittlepony/unicopia/container/SpellbookScreenHandler.java b/src/main/java/com/minelittlepony/unicopia/container/SpellbookScreenHandler.java index 2a61fa0c..9dfec3e0 100644 --- a/src/main/java/com/minelittlepony/unicopia/container/SpellbookScreenHandler.java +++ b/src/main/java/com/minelittlepony/unicopia/container/SpellbookScreenHandler.java @@ -185,7 +185,7 @@ public class SpellbookScreenHandler extends ScreenHandler { } @Override - public ItemStack quickMove(PlayerEntity player, int index) { + public ItemStack transferSlot(PlayerEntity player, int index) { Slot sourceSlot = slots.get(index); if (sourceSlot == null || !sourceSlot.hasStack()) { @@ -304,5 +304,4 @@ public class SpellbookScreenHandler extends ScreenHandler { dropInventory(playerEntity, input); }); } - } diff --git a/src/main/java/com/minelittlepony/unicopia/container/UScreenHandlers.java b/src/main/java/com/minelittlepony/unicopia/container/UScreenHandlers.java index f2fba259..07f99b2b 100644 --- a/src/main/java/com/minelittlepony/unicopia/container/UScreenHandlers.java +++ b/src/main/java/com/minelittlepony/unicopia/container/UScreenHandlers.java @@ -5,14 +5,13 @@ import com.minelittlepony.unicopia.Unicopia; import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.ScreenHandlerType; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UScreenHandlers { ScreenHandlerType SPELL_BOOK = register("spell_book", new ExtendedScreenHandlerType<>(SpellbookScreenHandler::new)); static ScreenHandlerType register(String name, ScreenHandlerType type) { - return Registry.register(Registries.SCREEN_HANDLER, Unicopia.id(name), type); + return Registry.register(Registry.SCREEN_HANDLER, Unicopia.id(name), type); } static void bootstrap() { } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java index 1155446c..5daf1087 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java @@ -26,7 +26,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.predicate.entity.EntityPredicates; import net.minecraft.sound.SoundEvent; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Creature.java b/src/main/java/com/minelittlepony/unicopia/entity/Creature.java index 1ea9520b..f57fab6d 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Creature.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Creature.java @@ -131,7 +131,7 @@ public class Creature extends Living implements WeaklyOwned.Mutabl .isEmpty(); }); - targets.clear(g -> true); + targets.clear(); targets.add(2, new ActiveTargetGoal<>((MobEntity)entity, PlayerEntity.class, true, filter)); targets.add(2, new ActiveTargetGoal<>((MobEntity)entity, HostileEntity.class, true, filter)); targets.add(2, new ActiveTargetGoal<>((MobEntity)entity, SlimeEntity.class, true, filter)); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Enchantments.java b/src/main/java/com/minelittlepony/unicopia/entity/Enchantments.java index 000d8b61..34168b93 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Enchantments.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Enchantments.java @@ -20,7 +20,7 @@ import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtList; import net.minecraft.nbt.NbtString; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class Enchantments implements NbtSerialisable, Tickable { @@ -77,7 +77,7 @@ public class Enchantments implements NbtSerialisable, Tickable { public void toNBT(NbtCompound compound) { NbtList list = new NbtList(); equippedEnchantments.forEach(enchant -> { - Identifier id = Registries.ENCHANTMENT.getId(enchant); + Identifier id = Registry.ENCHANTMENT.getId(enchant); if (id != null) { list.add(NbtString.of(id.toString())); } @@ -90,7 +90,7 @@ public class Enchantments implements NbtSerialisable, Tickable { equippedEnchantments.clear(); if (compound.contains("enchants")) { compound.getList("enchants", 8).forEach(tag -> { - Registries.ENCHANTMENT.getOrEmpty(new Identifier(tag.asString())).ifPresent(equippedEnchantments::add); + Registry.ENCHANTMENT.getOrEmpty(new Identifier(tag.asString())).ifPresent(equippedEnchantments::add); }); } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java b/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java index ffcb2076..cec0de66 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java @@ -14,7 +14,7 @@ import net.minecraft.entity.mob.MobEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.particle.BlockStateParticleEffect; import net.minecraft.particle.ParticleTypes; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/ItemTracker.java b/src/main/java/com/minelittlepony/unicopia/entity/ItemTracker.java index dbbbb0bb..1ab73101 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/ItemTracker.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/ItemTracker.java @@ -13,7 +13,7 @@ import net.minecraft.item.ItemConvertible; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class ItemTracker implements NbtSerialisable, Copyable, Tickable, TrinketsDelegate.Inventory { public static final long TICKS = 1; @@ -108,7 +108,7 @@ public class ItemTracker implements NbtSerialisable, Copyable, Tick @Override public void toNBT(NbtCompound compound) { items.forEach((charm, count) -> { - compound.putLong(Registries.ITEM.getId(charm.asItem()).toString(), count); + compound.putLong(Registry.ITEM.getId(charm.asItem()).toString(), count); }); } @@ -117,7 +117,7 @@ public class ItemTracker implements NbtSerialisable, Copyable, Tick items.clear(); compound.getKeys().stream().map(Identifier::tryParse) .filter(Objects::nonNull) - .map(id -> Map.entry(Registries.ITEM.get(id), compound.getLong(id.toString()))) + .map(id -> Map.entry(Registry.ITEM.get(id), compound.getLong(id.toString()))) .filter(i -> i.getKey() instanceof Trackable && i.getValue() > 0) .forEach(item -> items.put((Trackable)item.getKey(), item.getValue())); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java index 6cdb67fc..b840766e 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java @@ -175,7 +175,7 @@ public class PhysicsBodyProjectileEntity extends PersistentProjectileEntity impl @Override protected SoundEvent getHitSound() { - return isBouncy() ? SoundEvents.BLOCK_NOTE_BLOCK_BANJO.value() : SoundEvents.BLOCK_STONE_HIT; + return isBouncy() ? SoundEvents.BLOCK_NOTE_BLOCK_BANJO : SoundEvents.BLOCK_STONE_HIT; } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java b/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java index db0697f1..deceaec4 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/UEntities.java @@ -17,8 +17,9 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.decoration.painting.PaintingVariant; import net.minecraft.entity.mob.FlyingEntity; -import net.minecraft.registry.*; -import net.minecraft.registry.tag.BiomeTags; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryKey; +import net.minecraft.tag.BiomeTags; import net.minecraft.world.biome.Biome; public interface UEntities { @@ -54,7 +55,7 @@ public interface UEntities { static EntityType register(String name, FabricEntityTypeBuilder builder) { EntityType type = builder.build(); - return Registry.register(Registries.ENTITY_TYPE, Unicopia.id(name), type); + return Registry.register(Registry.ENTITY_TYPE, Unicopia.id(name), type); } static void bootstrap() { @@ -86,7 +87,7 @@ public interface UEntities { interface Paintings { private static void register(String id, int width, int height) { - Registry.register(Registries.PAINTING_VARIANT, RegistryKey.of(RegistryKeys.PAINTING_VARIANT, Unicopia.id(id)), new PaintingVariant(16 * width, 16 * height)); + Registry.register(Registry.PAINTING_VARIANT, RegistryKey.of(Registry.PAINTING_VARIANT_KEY, Unicopia.id(id)), new PaintingVariant(16 * width, 16 * height)); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/entity/UEntityAttributes.java b/src/main/java/com/minelittlepony/unicopia/entity/UEntityAttributes.java index fdc51b3d..dad58c6c 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/UEntityAttributes.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/UEntityAttributes.java @@ -8,8 +8,7 @@ import com.minelittlepony.unicopia.Unicopia; import net.minecraft.entity.attribute.ClampedEntityAttribute; import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UEntityAttributes { List REGISTRY = new ArrayList<>(); @@ -21,7 +20,7 @@ public interface UEntityAttributes { private static EntityAttribute register(String name, EntityAttribute attribute) { REGISTRY.add(attribute); - return Registry.register(Registries.ATTRIBUTE, Unicopia.id(name), attribute); + return Registry.register(Registry.ATTRIBUTE, Unicopia.id(name), attribute); } static void bootstrap() {} diff --git a/src/main/java/com/minelittlepony/unicopia/entity/UTradeOffers.java b/src/main/java/com/minelittlepony/unicopia/entity/UTradeOffers.java index 1b0a7af9..672ffe69 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/UTradeOffers.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/UTradeOffers.java @@ -13,8 +13,8 @@ import net.minecraft.entity.Entity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; -import net.minecraft.registry.tag.ItemTags; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.ItemTags; +import net.minecraft.tag.TagKey; import net.minecraft.util.Util; import net.minecraft.util.math.random.Random; import net.minecraft.village.TradeOffer; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/AxolotlBehaviour.java b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/AxolotlBehaviour.java index c7bfe8ff..edbdd0c3 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/AxolotlBehaviour.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/AxolotlBehaviour.java @@ -1,10 +1,9 @@ package com.minelittlepony.unicopia.entity.behaviour; -import org.joml.Vector3f; - import com.minelittlepony.unicopia.entity.Living; import net.minecraft.entity.passive.AxolotlEntity; +import net.minecraft.util.math.Vec3f; public class AxolotlBehaviour extends EntityBehaviour { private static final float toRad = 0.017453292F; @@ -13,11 +12,11 @@ public class AxolotlBehaviour extends EntityBehaviour { if (entity.getModelAngles().isEmpty()) { return; } - Vector3f current = entity.getModelAngles().get("body"); - entity.getModelAngles().put("body", new Vector3f( + Vec3f current = entity.getModelAngles().get("body"); + entity.getModelAngles().put("body", new Vec3f( source.asEntity().isSubmergedInWater() ? source.asEntity().getPitch() * toRad : 0, 0, - current == null ? 0 : current.z + current == null ? 0 : current.getZ() )); } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/Disguise.java b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/Disguise.java index 56ecd0eb..73d2ddb7 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/Disguise.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/Disguise.java @@ -124,7 +124,7 @@ public interface Disguise extends FlightType.Provider, PlayerDimensions.Provider } public static abstract class PlayerAccess extends PlayerEntity { - public PlayerAccess() { super(null, null, 0, null); } + public PlayerAccess() { super(null, null, 0, null, null); } public static TrackedData getModelBitFlag() { return PLAYER_MODEL_PARTS; } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/EntityBehaviour.java b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/EntityBehaviour.java index ca1ef0b9..7cfe694e 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/EntityBehaviour.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/EntityBehaviour.java @@ -34,7 +34,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraft.registry.Registry; +import net.minecraft.util.registry.Registry; public class EntityBehaviour { diff --git a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/FallingBlockBehaviour.java b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/FallingBlockBehaviour.java index e70103b9..c245a2a2 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/behaviour/FallingBlockBehaviour.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/behaviour/FallingBlockBehaviour.java @@ -24,7 +24,7 @@ import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.FallingBlockEntity; import net.minecraft.entity.damage.DamageSource; import net.minecraft.state.property.Properties; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.tag.BlockTags; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/ButterfingersStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/ButterfingersStatusEffect.java index 3c415da4..210ff567 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/ButterfingersStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/ButterfingersStatusEffect.java @@ -39,7 +39,7 @@ public class ButterfingersStatusEffect extends StatusEffect { if (target instanceof ServerPlayerEntity player) { if (player.dropSelectedItem(proximity < 1)) { - player.world.playSound(null, player.getBlockPos(), SoundEvents.BLOCK_HONEY_BLOCK_SLIDE, player.getSoundCategory()); + player.world.playSound(null, player.getBlockPos(), SoundEvents.BLOCK_HONEY_BLOCK_SLIDE, player.getSoundCategory(), 1, 1); PlayerInventory inventory = player.getInventory(); player.networkHandler.sendPacket(new ScreenHandlerSlotUpdateS2CPacket(-2, 0, inventory.selectedSlot, inventory.getStack(inventory.selectedSlot))); } @@ -48,7 +48,7 @@ public class ButterfingersStatusEffect extends StatusEffect { if (!stack.isEmpty()) { target.setStackInHand(Hand.MAIN_HAND, ItemStack.EMPTY); target.dropStack(stack); - target.world.playSound(null, target.getBlockPos(), SoundEvents.BLOCK_HONEY_BLOCK_SLIDE, target.getSoundCategory()); + target.world.playSound(null, target.getBlockPos(), SoundEvents.BLOCK_HONEY_BLOCK_SLIDE, target.getSoundCategory(), 1, 1); } } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java index ee028ea2..96b580e7 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java @@ -17,8 +17,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.particle.ParticleTypes; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class RaceChangeStatusEffect extends StatusEffect { public static final int STAGE_DURATION = 200; @@ -34,7 +33,7 @@ public class RaceChangeStatusEffect extends StatusEffect { public static StatusEffect register(int color, Race race) { Identifier id = Race.REGISTRY.getId(race); - return Registry.register(Registries.STATUS_EFFECT, + return Registry.register(Registry.STATUS_EFFECT, new Identifier(id.getNamespace(), "change_race_" + id.getPath().toLowerCase()), new RaceChangeStatusEffect(color, race) ); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/UEffects.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/UEffects.java index c7675ecf..af482020 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/UEffects.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/UEffects.java @@ -4,8 +4,7 @@ import com.minelittlepony.unicopia.Unicopia; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UEffects { StatusEffect FOOD_POISONING = register("food_poisoning", new FoodPoisoningStatusEffect(3484199)); @@ -15,7 +14,7 @@ public interface UEffects { StatusEffect BUTTER_FINGERS = register("butter_fingers", new ButterfingersStatusEffect(0x888800)); private static StatusEffect register(String name, StatusEffect effect) { - return Registry.register(Registries.STATUS_EFFECT, Unicopia.id(name), effect); + return Registry.register(Registry.STATUS_EFFECT, Unicopia.id(name), effect); } static void bootstrap() {} diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/UPotions.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/UPotions.java index 7f287e4f..900aad1c 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/UPotions.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/UPotions.java @@ -4,8 +4,7 @@ import com.minelittlepony.unicopia.Unicopia; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.potion.Potion; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UPotions { Potion TRIBE_SWAP_EARTH_PONY = register("tribe_swap_earth", new Potion("unicopia.tribe_swap_earth", new StatusEffectInstance(RaceChangeStatusEffect.CHANGE_RACE_EARTH, RaceChangeStatusEffect.MAX_DURATION))); @@ -15,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))); static Potion register(String name, Potion potion) { - return Registry.register(Registries.POTION, Unicopia.id(name), potion); + return Registry.register(Registry.POTION, Unicopia.id(name), potion); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerCharmTracker.java b/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerCharmTracker.java index d53a20ed..325919d0 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerCharmTracker.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerCharmTracker.java @@ -44,7 +44,7 @@ public class PlayerCharmTracker implements NbtSerialisable { public void equipSpell(Hand hand, CustomisedSpellType spell) { handSpells[hand.ordinal()] = spell; - pony.asEntity().playSound(SoundEvents.UI_BUTTON_CLICK.value(), 0.25F, 1.75F); + pony.asEntity().playSound(SoundEvents.UI_BUTTON_CLICK, 0.25F, 1.75F); pony.setDirty(); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyClientPlayerEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyClientPlayerEntity.java index af047905..de100320 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyClientPlayerEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyClientPlayerEntity.java @@ -14,6 +14,7 @@ import net.minecraft.client.network.PlayerListEntry; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.network.packet.s2c.play.PlayerListS2CPacket; import net.minecraft.world.GameMode; public class DummyClientPlayerEntity extends AbstractClientPlayerEntity implements Owned, Owned.Mutable { @@ -23,7 +24,7 @@ public class DummyClientPlayerEntity extends AbstractClientPlayerEntity implemen private PlayerEntity owner; public DummyClientPlayerEntity(ClientWorld world, GameProfile profile) { - super(world, profile); + super(world, profile, null); } @Override @@ -45,7 +46,7 @@ public class DummyClientPlayerEntity extends AbstractClientPlayerEntity implemen playerInfo = connection.getPlayerListEntry(getGameProfile().getId()); if (playerInfo == null) { - playerInfo = new PlayerListEntry(getGameProfile(), false); + playerInfo = new PlayerListEntry(new PlayerListS2CPacket.Entry(getGameProfile(), 0, null, null, null), null, false); } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyPlayerEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyPlayerEntity.java index 0ccd8c13..cc96ecaa 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyPlayerEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/dummy/DummyPlayerEntity.java @@ -17,7 +17,7 @@ public class DummyPlayerEntity extends PlayerEntity implements Owned ITEMS = new ArrayList<>(); - Item GREEN_APPLE = register("green_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK); - Item SWEET_APPLE = register("sweet_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK); - Item SOUR_APPLE = register("sour_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK); + Item GREEN_APPLE = register("green_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE).group(ItemGroup.FOOD)))); + Item SWEET_APPLE = register("sweet_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE).group(ItemGroup.FOOD)))); + Item SOUR_APPLE = register("sour_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE).group(ItemGroup.FOOD)))); - ZapAppleItem ZAP_APPLE = register("zap_apple", AppleItem.registerTickCallback(new ZapAppleItem(new Item.Settings().food(UFoodComponents.ZAP_APPLE))), ItemGroups.FOOD_AND_DRINK); - Item ZAP_BULB = register("zap_bulb", new Item(new Item.Settings().food(UFoodComponents.ZAP_BULB)), ItemGroups.FOOD_AND_DRINK); + ZapAppleItem ZAP_APPLE = register("zap_apple", AppleItem.registerTickCallback(new ZapAppleItem(new Item.Settings().food(UFoodComponents.ZAP_APPLE).group(ItemGroup.FOOD)))); + Item ZAP_BULB = register("zap_bulb", new Item(new Item.Settings().food(UFoodComponents.ZAP_BULB).group(ItemGroup.FOOD))); - Item ROTTEN_APPLE = register("rotten_apple", new RottenAppleItem(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK); - Item COOKED_ZAP_APPLE = register("cooked_zap_apple", new Item(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK); + Item ROTTEN_APPLE = register("rotten_apple", new RottenAppleItem(new Item.Settings().food(FoodComponents.APPLE).group(ItemGroup.FOOD))); + Item COOKED_ZAP_APPLE = register("cooked_zap_apple", new Item(new Item.Settings().food(FoodComponents.APPLE).group(ItemGroup.FOOD))); Item MUSIC_DISC_CRUSADE = register("music_disc_crusade", USounds.RECORD_CRUSADE, 181); Item MUSIC_DISC_PET = register("music_disc_pet", USounds.RECORD_PET, 221); @@ -44,91 +42,88 @@ public interface UItems { FriendshipBraceletItem FRIENDSHIP_BRACELET = register("friendship_bracelet", new FriendshipBraceletItem( new FabricItemSettings() .rarity(Rarity.UNCOMMON) - ), ItemGroups.TOOLS); + .group(ItemGroup.TOOLS) + )); - Item EMPTY_JAR = register("empty_jar", new JarItem(new Item.Settings().maxCount(16).fireproof(), false, false, false), ItemGroups.FUNCTIONAL); + Item EMPTY_JAR = register("empty_jar", new JarItem(new Item.Settings().maxCount(16).fireproof().group(ItemGroup.DECORATIONS), false, false, false)); FilledJarItem FILLED_JAR = register("filled_jar", new FilledJarItem(new Item.Settings().maxCount(1))); - Item RAIN_CLOUD_JAR = register("rain_cloud_jar", new JarItem(new Item.Settings().maxCount(1).fireproof(), true, false, false), ItemGroups.FUNCTIONAL); - Item STORM_CLOUD_JAR = register("storm_cloud_jar", new JarItem(new Item.Settings().maxCount(1).fireproof(), true, true, false), ItemGroups.FUNCTIONAL); - Item LIGHTNING_JAR = register("lightning_jar", new JarItem(new Item.Settings().maxCount(1).fireproof(), false, false, true), ItemGroups.FUNCTIONAL); - Item ZAP_APPLE_JAM_JAR = register("zap_apple_jam_jar", new JarItem(new Item.Settings().maxCount(1).fireproof(), false, false, true), ItemGroups.FUNCTIONAL); + Item RAIN_CLOUD_JAR = register("rain_cloud_jar", new JarItem(new Item.Settings().maxCount(1).fireproof().group(ItemGroup.DECORATIONS), true, false, false)); + Item STORM_CLOUD_JAR = register("storm_cloud_jar", new JarItem(new Item.Settings().maxCount(1).fireproof().group(ItemGroup.DECORATIONS), true, true, false)); + Item LIGHTNING_JAR = register("lightning_jar", new JarItem(new Item.Settings().maxCount(1).fireproof().group(ItemGroup.DECORATIONS), false, false, true)); + Item ZAP_APPLE_JAM_JAR = register("zap_apple_jam_jar", new JarItem(new Item.Settings().maxCount(1).fireproof().group(ItemGroup.DECORATIONS), false, false, true)); - Item CRYSTAL_HEART = register("crystal_heart", new CrystalHeartItem(new Item.Settings().maxCount(1)), ItemGroups.TOOLS); - Item CRYSTAL_SHARD = register("crystal_shard", new Item(new Item.Settings()), ItemGroups.NATURAL); + Item CRYSTAL_HEART = register("crystal_heart", new CrystalHeartItem(new Item.Settings().maxCount(1).group(ItemGroup.TOOLS))); + Item CRYSTAL_SHARD = register("crystal_shard", new Item(new Item.Settings().group(ItemGroup.MATERIALS))); - Item GEMSTONE = register("gemstone", new GemstoneItem(new Item.Settings()), ItemGroups.NATURAL); - Item BOTCHED_GEM = register("botched_gem", new Item(new Item.Settings()), ItemGroups.NATURAL); + Item GEMSTONE = register("gemstone", new GemstoneItem(new Item.Settings().group(ItemGroup.MATERIALS))); + Item BOTCHED_GEM = register("botched_gem", new Item(new Item.Settings().group(ItemGroup.MATERIALS))); - Item PEGASUS_FEATHER = register("pegasus_feather", new Item(new Item.Settings()), ItemGroups.NATURAL); - Item GRYPHON_FEATHER = register("gryphon_feather", new Item(new Item.Settings()), ItemGroups.NATURAL); + Item PEGASUS_FEATHER = register("pegasus_feather", new Item(new Item.Settings().group(ItemGroup.MATERIALS))); + Item GRYPHON_FEATHER = register("gryphon_feather", new Item(new Item.Settings().group(ItemGroup.MATERIALS))); - Item OAT_SEEDS = register("oat_seeds", new AliasedBlockItem(UBlocks.OATS, new Item.Settings()), ItemGroups.NATURAL); - Item OATS = register("oats", new Item(new Item.Settings().food(UFoodComponents.OATS)), ItemGroups.FOOD_AND_DRINK); - Item IMPORTED_OATS = register("imported_oats", new Item(new Item.Settings().food(UFoodComponents.IMPORTED_OATS)), ItemGroups.FOOD_AND_DRINK); - Item OATMEAL = register("oatmeal", new OatmealItem(new Item.Settings().recipeRemainder(Items.BOWL).maxCount(1).food(UFoodComponents.OATMEAL)), ItemGroups.FOOD_AND_DRINK); + Item OAT_SEEDS = register("oat_seeds", new AliasedBlockItem(UBlocks.OATS, new Item.Settings().group(ItemGroup.MATERIALS))); + Item OATS = register("oats", new Item(new Item.Settings().food(UFoodComponents.OATS).group(ItemGroup.FOOD))); + Item IMPORTED_OATS = register("imported_oats", new Item(new Item.Settings().food(UFoodComponents.IMPORTED_OATS).group(ItemGroup.FOOD))); + Item OATMEAL = register("oatmeal", new OatmealItem(new Item.Settings().recipeRemainder(Items.BOWL).maxCount(1).food(UFoodComponents.OATMEAL).group(ItemGroup.FOOD))); - Item DAFFODIL_DAISY_SANDWICH = register("daffodil_daisy_sandwich", new Item(new Item.Settings().food(UFoodComponents.DAFODIL_DAISY_SANDWICH)), ItemGroups.FOOD_AND_DRINK); - Item HAY_BURGER = register("hay_burger", new Item(new Item.Settings().maxCount(1).food(UFoodComponents.HAY_BURGER)), ItemGroups.FOOD_AND_DRINK); - Item HAY_FRIES = register("hay_fries", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.HAY_FRIES)), ItemGroups.FOOD_AND_DRINK); - Item WHEAT_WORMS = register("wheat_worms", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.INSECTS)), ItemGroups.NATURAL); - Item MUFFIN = register("muffin", new MuffinItem(new Item.Settings().maxCount(32).food(FoodComponents.BREAD), 0), ItemGroups.FOOD_AND_DRINK); - Item PINECONE = register("pinecone", new Item(new Item.Settings().food(UFoodComponents.PINECONE).maxCount(3)), ItemGroups.FOOD_AND_DRINK); - Item ACORN = register("acorn", new Item(new Item.Settings().food(UFoodComponents.ACORN).maxCount(16)), ItemGroups.FOOD_AND_DRINK); + Item DAFFODIL_DAISY_SANDWICH = register("daffodil_daisy_sandwich", new Item(new Item.Settings().food(UFoodComponents.DAFODIL_DAISY_SANDWICH).group(ItemGroup.FOOD))); + Item HAY_BURGER = register("hay_burger", new Item(new Item.Settings().maxCount(1).food(UFoodComponents.HAY_BURGER).group(ItemGroup.FOOD))); + Item HAY_FRIES = register("hay_fries", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.HAY_FRIES).group(ItemGroup.FOOD))); + Item WHEAT_WORMS = register("wheat_worms", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.INSECTS).group(ItemGroup.MATERIALS))); + Item MUFFIN = register("muffin", new MuffinItem(new Item.Settings().maxCount(32).food(FoodComponents.BREAD).group(ItemGroup.FOOD), 0)); + Item PINECONE = register("pinecone", new Item(new Item.Settings().food(UFoodComponents.PINECONE).maxCount(3).group(ItemGroup.FOOD))); + Item ACORN = register("acorn", new Item(new Item.Settings().food(UFoodComponents.ACORN).maxCount(16).group(ItemGroup.FOOD))); - Item PEBBLES = register("pebbles", new RacePredicatedAliasedBlockItem(UBlocks.ROCKS, new Item.Settings(), Race::canUseEarth), ItemGroups.NATURAL); - Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings(), 3), ItemGroups.NATURAL); - Item WEIRD_ROCK = register("weird_rock", new Item(new Item.Settings()), ItemGroups.NATURAL); - Item ROCK_STEW = register("rock_stew", new Item(new Item.Settings().food(FoodComponents.MUSHROOM_STEW)), ItemGroups.FOOD_AND_DRINK); + Item PEBBLES = register("pebbles", new RacePredicatedAliasedBlockItem(UBlocks.ROCKS, new Item.Settings().group(ItemGroup.MATERIALS), Race::canUseEarth)); + Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings().group(ItemGroup.MATERIALS), 3)); + Item WEIRD_ROCK = register("weird_rock", new Item(new Item.Settings().group(ItemGroup.MATERIALS))); + Item ROCK_STEW = register("rock_stew", new Item(new Item.Settings().food(FoodComponents.MUSHROOM_STEW).group(ItemGroup.FOOD))); - Item GREEN_APPLE_SEEDS = register("green_apple_seeds", new AliasedBlockItem(UBlocks.GREEN_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL); - Item SWEET_APPLE_SEEDS = register("sweet_apple_seeds", new AliasedBlockItem(UBlocks.SWEET_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL); - Item SOUR_APPLE_SEEDS = register("sour_apple_seeds", new AliasedBlockItem(UBlocks.SOUR_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL); + Item GREEN_APPLE_SEEDS = register("green_apple_seeds", new AliasedBlockItem(UBlocks.GREEN_APPLE_SPROUT, new Item.Settings().group(ItemGroup.MATERIALS))); + Item SWEET_APPLE_SEEDS = register("sweet_apple_seeds", new AliasedBlockItem(UBlocks.SWEET_APPLE_SPROUT, new Item.Settings().group(ItemGroup.MATERIALS))); + Item SOUR_APPLE_SEEDS = register("sour_apple_seeds", new AliasedBlockItem(UBlocks.SOUR_APPLE_SPROUT, new Item.Settings().group(ItemGroup.MATERIALS))); - Item MUG = register("mug", new Item(new Settings().maxCount(16)), ItemGroups.TOOLS); - Item CIDER = register("cider", new DrinkableItem(new Item.Settings().food(UFoodComponents.CIDER).maxCount(1).recipeRemainder(MUG)), ItemGroups.FOOD_AND_DRINK); - Item JUICE = register("juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.JUICE)), ItemGroups.FOOD_AND_DRINK); - Item BURNED_JUICE = register("burned_juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.BURNED_JUICE)), ItemGroups.FOOD_AND_DRINK); - Item APPLE_PIE = register("apple_pie", new BlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1)), ItemGroups.FOOD_AND_DRINK); - Item APPLE_PIE_SLICE = register("apple_pie_slice", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.PIE)), ItemGroups.FOOD_AND_DRINK); + Item MUG = register("mug", new Item(new Settings().maxCount(16).group(ItemGroup.TOOLS))); + Item CIDER = register("cider", new DrinkableItem(new Item.Settings().food(UFoodComponents.CIDER).maxCount(1).recipeRemainder(MUG).group(ItemGroup.FOOD))); + Item JUICE = register("juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.JUICE).group(ItemGroup.FOOD))); + Item BURNED_JUICE = register("burned_juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.BURNED_JUICE).group(ItemGroup.FOOD))); + Item APPLE_PIE = register("apple_pie", new BlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1).group(ItemGroup.FOOD))); + Item APPLE_PIE_SLICE = register("apple_pie_slice", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.PIE).group(ItemGroup.FOOD))); - Item LOVE_BOTTLE = register("love_bottle", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BOTTLE).maxCount(1).recipeRemainder(Items.GLASS_BOTTLE)), ItemGroups.FOOD_AND_DRINK); - Item LOVE_BUCKET = register("love_bucket", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BUCKET).recipeRemainder(Items.BUCKET)), ItemGroups.FOOD_AND_DRINK); - Item LOVE_MUG = register("love_mug", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_MUG).recipeRemainder(MUG)), ItemGroups.FOOD_AND_DRINK); + Item LOVE_BOTTLE = register("love_bottle", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BOTTLE).maxCount(1).recipeRemainder(Items.GLASS_BOTTLE).group(ItemGroup.FOOD))); + Item LOVE_BUCKET = register("love_bucket", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BUCKET).recipeRemainder(Items.BUCKET).group(ItemGroup.FOOD))); + Item LOVE_MUG = register("love_mug", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_MUG).recipeRemainder(MUG).group(ItemGroup.FOOD))); - Item GOLDEN_FEATHER = register("golden_feather", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL); - Item GOLDEN_WING = register("golden_wing", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL); + Item GOLDEN_FEATHER = register("golden_feather", new Item(new Item.Settings().rarity(Rarity.UNCOMMON).group(ItemGroup.MATERIALS))); + Item GOLDEN_WING = register("golden_wing", new Item(new Item.Settings().rarity(Rarity.UNCOMMON).group(ItemGroup.MATERIALS))); - Item DRAGON_BREATH_SCROLL = register("dragon_breath_scroll", new DragonBreathScrollItem(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS); + Item DRAGON_BREATH_SCROLL = register("dragon_breath_scroll", new DragonBreathScrollItem(new Item.Settings().rarity(Rarity.UNCOMMON).group(ItemGroup.TOOLS))); - Item WOODEN_POLEARM = register("wooden_polearm", new PolearmItem(ToolMaterials.WOOD, 2, -3.6F, 2, new Item.Settings()), ItemGroups.COMBAT); - Item STONE_POLEARM = register("stone_polearm", new PolearmItem(ToolMaterials.STONE, 2, -3.6F, 2, new Item.Settings()), ItemGroups.COMBAT); - Item IRON_POLEARM = register("iron_polearm", new PolearmItem(ToolMaterials.IRON, 2, -3.6F, 3, new Item.Settings()), ItemGroups.COMBAT); - Item GOLDEN_POLEARM = register("golden_polearm", new PolearmItem(ToolMaterials.GOLD, 2, -3.6F, 4, new Item.Settings()), ItemGroups.COMBAT); - Item DIAMOND_POLEARM = register("diamond_polearm", new PolearmItem(ToolMaterials.DIAMOND, 2, -3.6F, 5, new Item.Settings()), ItemGroups.COMBAT); - Item NETHERITE_POLEARM = register("netherite_polearm", new PolearmItem(ToolMaterials.NETHERITE, 2, -3.6F, 5, new Item.Settings().fireproof()), ItemGroups.COMBAT); + Item WOODEN_POLEARM = register("wooden_polearm", new PolearmItem(ToolMaterials.WOOD, 2, -3.6F, 2, new Item.Settings().group(ItemGroup.COMBAT))); + Item STONE_POLEARM = register("stone_polearm", new PolearmItem(ToolMaterials.STONE, 2, -3.6F, 2, new Item.Settings().group(ItemGroup.COMBAT))); + Item IRON_POLEARM = register("iron_polearm", new PolearmItem(ToolMaterials.IRON, 2, -3.6F, 3, new Item.Settings().group(ItemGroup.COMBAT))); + Item GOLDEN_POLEARM = register("golden_polearm", new PolearmItem(ToolMaterials.GOLD, 2, -3.6F, 4, new Item.Settings().group(ItemGroup.COMBAT))); + Item DIAMOND_POLEARM = register("diamond_polearm", new PolearmItem(ToolMaterials.DIAMOND, 2, -3.6F, 5, new Item.Settings().group(ItemGroup.COMBAT))); + Item NETHERITE_POLEARM = register("netherite_polearm", new PolearmItem(ToolMaterials.NETHERITE, 2, -3.6F, 5, new Item.Settings().fireproof().group(ItemGroup.COMBAT))); - Item BUTTERFLY_SPAWN_EGG = register("butterfly_spawn_egg", new SpawnEggItem(UEntities.BUTTERFLY, 0x222200, 0xaaeeff, new Item.Settings()), ItemGroups.SPAWN_EGGS); - Item BUTTERFLY = register("butterfly", new Item(new Item.Settings().food(UFoodComponents.INSECTS)), ItemGroups.FOOD_AND_DRINK); + Item BUTTERFLY_SPAWN_EGG = register("butterfly_spawn_egg", new SpawnEggItem(UEntities.BUTTERFLY, 0x222200, 0xaaeeff, new Item.Settings().group(ItemGroup.MISC))); + Item BUTTERFLY = register("butterfly", new Item(new Item.Settings().food(UFoodComponents.INSECTS).group(ItemGroup.FOOD))); - Item SPELLBOOK = register("spellbook", new SpellbookItem(new Item.Settings().maxCount(1).rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS); + Item SPELLBOOK = register("spellbook", new SpellbookItem(new Item.Settings().maxCount(1).rarity(Rarity.UNCOMMON).group(ItemGroup.TOOLS))); AmuletItem PEGASUS_AMULET = register("pegasus_amulet", new PegasusAmuletItem(new FabricItemSettings() .maxCount(1) .maxDamage(890) - .rarity(Rarity.UNCOMMON), 900), ItemGroups.TOOLS); + .rarity(Rarity.UNCOMMON) + .group(ItemGroup.TOOLS), 900)); AlicornAmuletItem ALICORN_AMULET = register("alicorn_amulet", new AlicornAmuletItem(new FabricItemSettings() .maxCount(1) .maxDamage(1000) - .rarity(Rarity.RARE)), ItemGroups.TOOLS); + .rarity(Rarity.RARE).group(ItemGroup.TOOLS))); - GlassesItem SUNGLASSES = register("sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT); - GlassesItem BROKEN_SUNGLASSES = register("broken_sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT); + GlassesItem SUNGLASSES = register("sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1).group(ItemGroup.COMBAT))); + GlassesItem BROKEN_SUNGLASSES = register("broken_sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1).group(ItemGroup.COMBAT))); - static T register(String name, T item, ItemGroup group) { - return ItemGroupRegistry.register(register(name, item), group); - } - - @Deprecated static T register(String name, T item) { return register(Unicopia.id(name), item); } @@ -138,14 +133,15 @@ public interface UItems { if (item instanceof BlockItem) { ((BlockItem)item).appendBlocks(Item.BLOCK_ITEMS, item); } - return Registry.register(Registries.ITEM, id, item); + return Registry.register(Registry.ITEM, id, item); } static MusicDiscItem register(String name, SoundEvent sound, int seconds) { return register(name, new MusicDiscItem(1, sound, new Settings() .maxCount(1) - .rarity(Rarity.RARE), seconds - ) {}, ItemGroups.TOOLS); + .rarity(Rarity.RARE) + .group(ItemGroup.TOOLS), seconds + ) {}); } static void bootstrap() { diff --git a/src/main/java/com/minelittlepony/unicopia/item/ZapAppleItem.java b/src/main/java/com/minelittlepony/unicopia/item/ZapAppleItem.java index e087e58a..725f4188 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/ZapAppleItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ZapAppleItem.java @@ -31,7 +31,7 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.util.Hand; import net.minecraft.util.Rarity; import net.minecraft.util.TypedActionResult; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; @@ -106,7 +106,7 @@ public class ZapAppleItem extends Item implements ChameleonItem, ToxicHolder, Mu .flatMap(world -> RegistryUtils.valuesForTag(world, UTags.APPLES)) .filter(a -> a != this).map(item -> { ItemStack stack = new ItemStack(this); - stack.getOrCreateNbt().putString("appearance", Registries.ITEM.getId(item).toString()); + stack.getOrCreateNbt().putString("appearance", Registry.ITEM.getId(item).toString()); return stack; }).toList(); } diff --git a/src/main/java/com/minelittlepony/unicopia/item/ZapAppleRecipe.java b/src/main/java/com/minelittlepony/unicopia/item/ZapAppleRecipe.java index 82c1d162..13e887c2 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/ZapAppleRecipe.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ZapAppleRecipe.java @@ -8,24 +8,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.ShapelessRecipe; -import net.minecraft.recipe.book.CraftingRecipeCategory; import net.minecraft.util.Identifier; import net.minecraft.util.JsonHelper; import net.minecraft.util.collection.DefaultedList; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class ZapAppleRecipe extends ShapelessRecipe { - public ZapAppleRecipe(Identifier id, String group, CraftingRecipeCategory category, ItemStack output, DefaultedList input) { - super(id, group, category, output, input); + public ZapAppleRecipe(Identifier id, String group, ItemStack output, DefaultedList input) { + super(id, group, output, input); } public static class Serializer extends ShapelessRecipe.Serializer { @Override public ShapelessRecipe read(Identifier identifier, JsonObject json) { String group = JsonHelper.getString(json, "group", ""); - @SuppressWarnings("deprecation") - CraftingRecipeCategory category = CraftingRecipeCategory.CODEC.byId(JsonHelper.getString(json, "category", null), CraftingRecipeCategory.MISC); DefaultedList ingredients = URecipes.getIngredients(JsonHelper.getArray(json, "ingredients")); if (ingredients.isEmpty()) { @@ -36,7 +33,7 @@ public class ZapAppleRecipe extends ShapelessRecipe { Identifier id = new Identifier(JsonHelper.getString(json, "appearance")); - return new ZapAppleRecipe(identifier, group, category, UItems.ZAP_APPLE.setAppearance(UItems.ZAP_APPLE.getDefaultStack(), Registries.ITEM.getOrEmpty(id).orElseThrow(() -> { + return new ZapAppleRecipe(identifier, group, UItems.ZAP_APPLE.setAppearance(UItems.ZAP_APPLE.getDefaultStack(), Registry.ITEM.getOrEmpty(id).orElseThrow(() -> { return new JsonSyntaxException("Unknown item '" + id + "'"); }).getDefaultStack()), ingredients); } @@ -44,7 +41,6 @@ public class ZapAppleRecipe extends ShapelessRecipe { @Override public ShapelessRecipe read(Identifier identifier, PacketByteBuf input) { String group = input.readString(32767); - CraftingRecipeCategory category = input.readEnumConstant(CraftingRecipeCategory.class); DefaultedList ingredients = DefaultedList.ofSize(input.readVarInt(), Ingredient.EMPTY); @@ -52,7 +48,7 @@ public class ZapAppleRecipe extends ShapelessRecipe { ingredients.set(j, Ingredient.fromPacket(input)); } - return new ZapAppleRecipe(identifier, group, category, input.readItemStack(), ingredients); + return new ZapAppleRecipe(identifier, group, input.readItemStack(), ingredients); } } } diff --git a/src/main/java/com/minelittlepony/unicopia/item/enchantment/PoisonedJokeEnchantment.java b/src/main/java/com/minelittlepony/unicopia/item/enchantment/PoisonedJokeEnchantment.java index 0d0e5cfe..5e5cf0f9 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/enchantment/PoisonedJokeEnchantment.java +++ b/src/main/java/com/minelittlepony/unicopia/item/enchantment/PoisonedJokeEnchantment.java @@ -22,7 +22,7 @@ import net.minecraft.sound.SoundEvent; import net.minecraft.util.Identifier; import net.minecraft.util.math.random.Random; import net.minecraft.util.profiler.Profiler; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class PoisonedJokeEnchantment extends SimpleEnchantment implements IdentifiableResourceReloadListener { private static final Identifier ID = Unicopia.id("data/poisoned_joke_sounds"); @@ -84,7 +84,7 @@ public class PoisonedJokeEnchantment extends SimpleEnchantment implements Identi } private Stream findSound(Identifier id) { - return Registries.SOUND_EVENT.getOrEmpty(id).map(Stream::of).orElseGet(() -> { + return Registry.SOUND_EVENT.getOrEmpty(id).map(Stream::of).orElseGet(() -> { Unicopia.LOGGER.warn("Could not find sound with id {}", id); return Stream.empty(); }); diff --git a/src/main/java/com/minelittlepony/unicopia/item/enchantment/UEnchantments.java b/src/main/java/com/minelittlepony/unicopia/item/enchantment/UEnchantments.java index c58531d8..f3f1d54d 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/enchantment/UEnchantments.java +++ b/src/main/java/com/minelittlepony/unicopia/item/enchantment/UEnchantments.java @@ -14,8 +14,7 @@ import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.attribute.EntityAttributeModifier.Operation; import net.minecraft.enchantment.EnchantmentTarget; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UEnchantments { @@ -82,6 +81,6 @@ public interface UEnchantments { static T register(String name, T enchantment) { REGISTRY.add(enchantment); - return Registry.register(Registries.ENCHANTMENT, Unicopia.id(name), enchantment); + return Registry.register(Registry.ENCHANTMENT, Unicopia.id(name), enchantment); } } diff --git a/src/main/java/com/minelittlepony/unicopia/item/group/ItemGroupRegistry.java b/src/main/java/com/minelittlepony/unicopia/item/group/ItemGroupRegistry.java index c75349a6..2b375c4c 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/group/ItemGroupRegistry.java +++ b/src/main/java/com/minelittlepony/unicopia/item/group/ItemGroupRegistry.java @@ -7,14 +7,12 @@ import java.util.stream.Stream; import com.minelittlepony.unicopia.UTags; import com.minelittlepony.unicopia.Unicopia; -import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.minecraft.item.*; -import net.minecraft.registry.Registries; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.registry.Registry; +import net.minecraft.tag.TagKey; public interface ItemGroupRegistry { - Map> REGISTRY = new HashMap<>(); static List getVariations(Item item) { if (item instanceof MultiItem) { @@ -23,14 +21,9 @@ public interface ItemGroupRegistry { return List.of(item.getDefaultStack()); } - static T register(T item, ItemGroup group) { - REGISTRY.computeIfAbsent(group, g -> new HashSet<>()).add(item); - return item; - } - static ItemGroup createDynamic(String name, Supplier icon, Supplier> items) { boolean[] reloading = new boolean[1]; - return FabricItemGroup.builder(Unicopia.id(name)).entries((features, list, k) -> { + return FabricItemGroupBuilder.create(Unicopia.id(name)).appendItems(list -> { if (reloading[0]) { return; } @@ -45,7 +38,7 @@ public interface ItemGroupRegistry { static ItemGroup createGroupFromTag(String name, Supplier icon) { TagKey key = UTags.item("groups/" + name); return createDynamic(name, icon, () -> { - return Registries.ITEM.getEntryList(key) + return Registry.ITEM.getEntryList(key) .stream() .flatMap(named -> named.stream()) .map(entry -> entry.value()); @@ -53,10 +46,6 @@ public interface ItemGroupRegistry { } static void bootstrap() { - REGISTRY.forEach((group, items) -> { - ItemGroupEvents.modifyEntriesEvent(group).register(event -> { - event.addAll(items.stream().map(Item::getDefaultStack).toList()); - }); - }); + } } diff --git a/src/main/java/com/minelittlepony/unicopia/item/group/UItemGroups.java b/src/main/java/com/minelittlepony/unicopia/item/group/UItemGroups.java index ce7d898e..79240031 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/group/UItemGroups.java +++ b/src/main/java/com/minelittlepony/unicopia/item/group/UItemGroups.java @@ -8,7 +8,7 @@ import com.minelittlepony.unicopia.item.toxin.Toxic; import com.minelittlepony.unicopia.item.toxin.ToxicHolder; import net.minecraft.item.*; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UItemGroups { ItemGroup ALL_ITEMS = ItemGroupRegistry.createDynamic("items", UItems.EMPTY_JAR::getDefaultStack, () -> { @@ -16,7 +16,7 @@ public interface UItemGroups { .filter(item -> !(item instanceof ChameleonItem) || ((ChameleonItem)item).isFullyDisguised())); }); ItemGroup HORSE_FEED = ItemGroupRegistry.createDynamic("horsefeed", UItems.ZAP_APPLE::getDefaultStack, () -> { - return Registries.ITEM.stream() + return Registry.ITEM.stream() .filter(item -> ((ToxicHolder)item).getToxic(item.getDefaultStack()) != Toxic.EMPTY); }); diff --git a/src/main/java/com/minelittlepony/unicopia/item/toxin/ToxicRegistryEntry.java b/src/main/java/com/minelittlepony/unicopia/item/toxin/ToxicRegistryEntry.java index 2db1d93f..e8c50150 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/toxin/ToxicRegistryEntry.java +++ b/src/main/java/com/minelittlepony/unicopia/item/toxin/ToxicRegistryEntry.java @@ -1,7 +1,7 @@ package com.minelittlepony.unicopia.item.toxin; import net.minecraft.item.Item; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.TagKey; public record ToxicRegistryEntry ( Toxic value, diff --git a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java index 144aa925..a50247b7 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java +++ b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java @@ -3,7 +3,7 @@ package com.minelittlepony.unicopia.item.toxin; import com.minelittlepony.unicopia.*; import com.minelittlepony.unicopia.util.RegistryUtils; -import net.minecraft.registry.Registry; +import net.minecraft.util.registry.Registry; import static com.minelittlepony.unicopia.item.toxin.Toxicity.*; import static com.minelittlepony.unicopia.item.toxin.Ailment.*; diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/MixinBoatEntity.java b/src/main/java/com/minelittlepony/unicopia/mixin/MixinBoatEntity.java index 392cf967..3f049d53 100644 --- a/src/main/java/com/minelittlepony/unicopia/mixin/MixinBoatEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/mixin/MixinBoatEntity.java @@ -14,8 +14,8 @@ import net.minecraft.entity.vehicle.BoatEntity; import net.minecraft.fluid.Fluid; import net.minecraft.nbt.NbtCompound; import net.minecraft.particle.ParticleTypes; -import net.minecraft.registry.tag.FluidTags; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.FluidTags; +import net.minecraft.tag.TagKey; @Mixin(BoatEntity.class) abstract class MixinBoatEntity extends Entity implements LavaAffine { @@ -31,7 +31,7 @@ abstract class MixinBoatEntity extends Entity implements LavaAffine { "fall", "canAddPassenger" }, - at = @At(value = "FIELD", target = "net/minecraft/registry/tag/FluidTags.WATER:Lnet/minecraft/registry/tag/TagKey;", opcode = Opcodes.GETSTATIC) + at = @At(value = "FIELD", target = "net/minecraft/tag/FluidTags.WATER:Lnet/minecraft/tag/TagKey;", opcode = Opcodes.GETSTATIC) ) private TagKey redirectFluidTag() { return isLavaAffine() ? FluidTags.LAVA : FluidTags.WATER; diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/MixinServerPlayerEntity.java b/src/main/java/com/minelittlepony/unicopia/mixin/MixinServerPlayerEntity.java index 0d84d448..be6b1598 100644 --- a/src/main/java/com/minelittlepony/unicopia/mixin/MixinServerPlayerEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/mixin/MixinServerPlayerEntity.java @@ -15,7 +15,7 @@ import net.minecraft.server.network.ServerPlayerEntity; @Mixin(ServerPlayerEntity.class) abstract class MixinServerPlayerEntity extends PlayerEntity implements ScreenHandlerListener, Equine.Container, ServerPlayerEntityDuck { - MixinServerPlayerEntity() {super(null, null, 0, null);} + MixinServerPlayerEntity() {super(null, null, 0, null, null);} @Override @Accessor("inTeleportationState") diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinGameRenderer.java b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinGameRenderer.java index d71373fb..db7fd61e 100644 --- a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinGameRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinGameRenderer.java @@ -15,10 +15,10 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.Camera; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.RotationAxis; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.resource.SynchronousResourceReloader; +import net.minecraft.util.math.Vec3f; @Mixin(value = GameRenderer.class, priority = Integer.MAX_VALUE) abstract class MixinGameRenderer implements AutoCloseable, SynchronousResourceReloader { @@ -36,7 +36,7 @@ abstract class MixinGameRenderer implements AutoCloseable, SynchronousResourceRe @Inject(method = "renderWorld(FJLnet/minecraft/client/util/math/MatrixStack;)V", at = @At("HEAD")) private void beforeRenderWorld(float tickDelta, long limitTime, MatrixStack matrices, CallbackInfo info) { - UnicopiaClient.getCamera().ifPresent(c -> matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(c.calculateRoll()))); + UnicopiaClient.getCamera().ifPresent(c -> matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(c.calculateRoll()))); BatEyesApplicator.INSTANCE.enable(); } diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinWorldRenderer.java b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinWorldRenderer.java index be7a997b..313a4488 100644 --- a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinWorldRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinWorldRenderer.java @@ -41,7 +41,7 @@ abstract class MixinWorldRenderer implements SynchronousResourceReloader, AutoCl + "Lnet/minecraft/client/render/Camera;" + "Lnet/minecraft/client/render/GameRenderer;" + "Lnet/minecraft/client/render/LightmapTextureManager;" - + "Lorg/joml/Matrix4f;" + + "Lnet/minecraft/util/math/Matrix4f;" + ")V", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/WorldRenderer;blockBreakingProgressions:Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;") ) diff --git a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java index 691479ac..f4f4b471 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java +++ b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java @@ -42,7 +42,7 @@ public class ClientNetworkHandlerImpl { @SuppressWarnings("unchecked") private void handleSpawnProjectile(PlayerEntity sender, MsgSpawnProjectile packet) { ClientWorld world = client.world; - Entity entity = packet.getEntityType().create(world); + Entity entity = packet.getEntityTypeId().create(world); entity.updateTrackedPosition(packet.getX(), packet.getY(), packet.getZ()); entity.refreshPositionAfterTeleport(packet.getX(), packet.getY(), packet.getZ()); diff --git a/src/main/java/com/minelittlepony/unicopia/particle/FollowingParticleEffect.java b/src/main/java/com/minelittlepony/unicopia/particle/FollowingParticleEffect.java index 3ad756c2..eb463eee 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/FollowingParticleEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/FollowingParticleEffect.java @@ -11,7 +11,7 @@ import net.minecraft.particle.ParticleType; import net.minecraft.entity.Entity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.math.Vec3d; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; public class FollowingParticleEffect implements ParticleEffect { @@ -41,7 +41,7 @@ public class FollowingParticleEffect implements ParticleEffect { this(type, buf.readInt(), new Vec3d(buf.readDouble(), buf.readDouble(), buf.readDouble()), buf.readFloat()); if (buf.readBoolean()) { - childEffect = ParticleFactoryHelper.read(Registries.PARTICLE_TYPE.get(buf.readInt()), buf); + childEffect = ParticleFactoryHelper.read(Registry.PARTICLE_TYPE.get(buf.readInt()), buf); } } @@ -109,7 +109,7 @@ public class FollowingParticleEffect implements ParticleEffect { buf.writeFloat(followSpeed); getChildEffect().ifPresentOrElse(child -> { buf.writeBoolean(true); - buf.writeInt(Registries.PARTICLE_TYPE.getRawId(child.getType())); + buf.writeInt(Registry.PARTICLE_TYPE.getRawId(child.getType())); child.write(buf); }, () -> buf.writeBoolean(false)); } @@ -118,12 +118,12 @@ public class FollowingParticleEffect implements ParticleEffect { public String asString() { return getChildEffect().map(child -> { return String.format(Locale.ROOT, "%s %.2f %.2f %.2f %.2f %s", - Registries.PARTICLE_TYPE.getId(getType()), + Registry.PARTICLE_TYPE.getId(getType()), fixedTarget.x, fixedTarget.y, fixedTarget.z, followSpeed, child.asString()); }).orElseGet(() -> { return String.format(Locale.ROOT, "%s %.2f %.2f %.2f %.2f", - Registries.PARTICLE_TYPE.getId(getType()), + Registry.PARTICLE_TYPE.getId(getType()), fixedTarget.x, fixedTarget.y, fixedTarget.z, followSpeed); }); diff --git a/src/main/java/com/minelittlepony/unicopia/particle/MagicParticleEffect.java b/src/main/java/com/minelittlepony/unicopia/particle/MagicParticleEffect.java index a8bc1d90..30e57b5b 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/MagicParticleEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/MagicParticleEffect.java @@ -2,8 +2,6 @@ package com.minelittlepony.unicopia.particle; import java.util.Locale; -import org.joml.Vector3f; - import com.minelittlepony.common.util.Color; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; @@ -12,16 +10,17 @@ import net.minecraft.particle.AbstractDustParticleEffect; import net.minecraft.particle.ParticleEffect; import net.minecraft.particle.ParticleType; import net.minecraft.network.PacketByteBuf; +import net.minecraft.util.math.Vec3f; import net.minecraft.util.math.random.Random; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class MagicParticleEffect implements ParticleEffect { - public static final MagicParticleEffect UNICORN = new MagicParticleEffect(false, new Vector3f()); + public static final MagicParticleEffect UNICORN = new MagicParticleEffect(false, new Vec3f()); @SuppressWarnings("deprecation") public static final ParticleEffect.Factory FACTORY = ParticleFactoryHelper.of(MagicParticleEffect::new, MagicParticleEffect::new); private final boolean tinted; - private final Vector3f color; + private final Vec3f color; protected MagicParticleEffect(ParticleType particleType, StringReader reader) throws CommandSyntaxException { this(ParticleFactoryHelper.readBoolean(reader), AbstractDustParticleEffect.readColor(reader)); @@ -32,14 +31,14 @@ public class MagicParticleEffect implements ParticleEffect { } public MagicParticleEffect(int tint) { - this(true, new Vector3f(Color.r(tint), Color.g(tint), Color.b(tint))); + this(true, new Vec3f(Color.r(tint), Color.g(tint), Color.b(tint))); } - public MagicParticleEffect(Vector3f color) { + public MagicParticleEffect(Vec3f color) { this(true, color); } - protected MagicParticleEffect(boolean tint, Vector3f color) { + protected MagicParticleEffect(boolean tint, Vec3f color) { tinted = tint; this.color = color; } @@ -48,7 +47,7 @@ public class MagicParticleEffect implements ParticleEffect { return tinted; } - public Vector3f getColor(Random random) { + public Vec3f getColor(Random random) { if (hasTint()) { return color; } @@ -63,7 +62,7 @@ public class MagicParticleEffect implements ParticleEffect { r *= 3.9F; } - return new Vector3f(r, g, b); + return new Vec3f(r, g, b); } @Override @@ -74,14 +73,14 @@ public class MagicParticleEffect implements ParticleEffect { @Override public void write(PacketByteBuf buf) { buf.writeBoolean(tinted); - buf.writeFloat(color.x); - buf.writeFloat(color.y); - buf.writeFloat(color.z); + buf.writeFloat(color.getX()); + buf.writeFloat(color.getY()); + buf.writeFloat(color.getZ()); } @Override public String asString() { - return String.format(Locale.ROOT, "%s %.2f %.2f %.2f", Registries.PARTICLE_TYPE.getId(getType()), color.x, color.y, color.z); + return String.format(Locale.ROOT, "%s %.2f %.2f %.2f", Registry.PARTICLE_TYPE.getId(getType()), color.getX(), color.getY(), color.getZ()); } } diff --git a/src/main/java/com/minelittlepony/unicopia/particle/OrientedBillboardParticleEffect.java b/src/main/java/com/minelittlepony/unicopia/particle/OrientedBillboardParticleEffect.java index 26384776..cb7173c4 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/OrientedBillboardParticleEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/OrientedBillboardParticleEffect.java @@ -9,7 +9,7 @@ import net.minecraft.particle.ParticleEffect; import net.minecraft.particle.ParticleType; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.math.Vec3d; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public class OrientedBillboardParticleEffect implements ParticleEffect { @SuppressWarnings("deprecation") @@ -70,7 +70,7 @@ public class OrientedBillboardParticleEffect implements ParticleEffect { @Override public String asString() { - return String.format(Locale.ROOT, "%s %b %.2f %.2f", Registries.PARTICLE_TYPE.getId(getType()), fixed, yaw, pitch); + return String.format(Locale.ROOT, "%s %b %.2f %.2f", Registry.PARTICLE_TYPE.getId(getType()), fixed, yaw, pitch); } } diff --git a/src/main/java/com/minelittlepony/unicopia/particle/ParticleFactoryHelper.java b/src/main/java/com/minelittlepony/unicopia/particle/ParticleFactoryHelper.java index f30883e8..075a3719 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/ParticleFactoryHelper.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/ParticleFactoryHelper.java @@ -9,14 +9,13 @@ import net.minecraft.command.argument.ParticleEffectArgumentType; import net.minecraft.network.PacketByteBuf; import net.minecraft.particle.ParticleEffect; import net.minecraft.particle.ParticleType; -import net.minecraft.registry.Registries; import net.minecraft.util.math.Vec3d; public interface ParticleFactoryHelper { @SuppressWarnings("unchecked") static Optional read(StringReader reader) throws CommandSyntaxException { - return Optional.ofNullable((T)ParticleEffectArgumentType.readParameters(reader, Registries.PARTICLE_TYPE.getReadOnlyWrapper())); + return Optional.ofNullable((T)ParticleEffectArgumentType.readParameters(reader)); } @SuppressWarnings("deprecation") diff --git a/src/main/java/com/minelittlepony/unicopia/particle/SphereParticleEffect.java b/src/main/java/com/minelittlepony/unicopia/particle/SphereParticleEffect.java index 212e84cd..93b11c3f 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/SphereParticleEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/SphereParticleEffect.java @@ -2,8 +2,6 @@ package com.minelittlepony.unicopia.particle; import java.util.Locale; -import org.joml.Vector3f; - import com.minelittlepony.common.util.Color; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; @@ -13,7 +11,8 @@ import net.minecraft.particle.ParticleEffect; import net.minecraft.particle.ParticleType; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.math.Vec3d; -import net.minecraft.registry.Registries; +import net.minecraft.util.math.Vec3f; +import net.minecraft.util.registry.Registry; public class SphereParticleEffect implements ParticleEffect { @SuppressWarnings("deprecation") @@ -21,7 +20,7 @@ public class SphereParticleEffect implements ParticleEffect { private static final Vec3d DEFAULT_OFFSET = new Vec3d(0, 0.5, 0); - private final Vector3f color; + private final Vec3f color; private final float alpha; private final float radius; @@ -41,15 +40,15 @@ public class SphereParticleEffect implements ParticleEffect { this(type, tint, alpha, rad, DEFAULT_OFFSET); } - public SphereParticleEffect(ParticleType type, Vector3f color, float alpha, float rad) { + public SphereParticleEffect(ParticleType type, Vec3f color, float alpha, float rad) { this(type, color, alpha, rad, DEFAULT_OFFSET); } public SphereParticleEffect(ParticleType type, int tint, float alpha, float rad, Vec3d offset) { - this(type, new Vector3f(Color.r(tint) * 255, Color.g(tint) * 255, Color.b(tint) * 255), alpha, rad, offset); + this(type, new Vec3f(Color.r(tint) * 255, Color.g(tint) * 255, Color.b(tint) * 255), alpha, rad, offset); } - public SphereParticleEffect(ParticleType type, Vector3f color, float alpha, float rad, Vec3d offset) { + public SphereParticleEffect(ParticleType type, Vec3f color, float alpha, float rad, Vec3d offset) { this.type = type; this.color = color; this.offset = offset; @@ -65,7 +64,7 @@ public class SphereParticleEffect implements ParticleEffect { this.offset = offset; } - public Vector3f getColor() { + public Vec3f getColor() { return color; } @@ -84,9 +83,9 @@ public class SphereParticleEffect implements ParticleEffect { @Override public void write(PacketByteBuf buf) { - buf.writeFloat(color.x); - buf.writeFloat(color.y); - buf.writeFloat(color.z); + buf.writeFloat(color.getX()); + buf.writeFloat(color.getY()); + buf.writeFloat(color.getZ()); buf.writeFloat(alpha); buf.writeFloat(radius); buf.writeDouble(offset.getX()); @@ -97,8 +96,8 @@ public class SphereParticleEffect implements ParticleEffect { @Override public String asString() { return String.format(Locale.ROOT, "%s %.2f %.2f %.2f %.2f %.2f %.2f %.2f", - Registries.PARTICLE_TYPE.getId(getType()), - color.x, color.y, color.z, + Registry.PARTICLE_TYPE.getId(getType()), + color.getX(), color.getY(), color.getZ(), alpha, radius, offset.getX(), offset.getY(), offset.getZ() diff --git a/src/main/java/com/minelittlepony/unicopia/particle/UParticles.java b/src/main/java/com/minelittlepony/unicopia/particle/UParticles.java index ea5ce42f..1331600b 100644 --- a/src/main/java/com/minelittlepony/unicopia/particle/UParticles.java +++ b/src/main/java/com/minelittlepony/unicopia/particle/UParticles.java @@ -5,8 +5,7 @@ import com.minelittlepony.unicopia.Unicopia; import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; import net.minecraft.particle.DefaultParticleType; import net.minecraft.particle.ParticleType; -import net.minecraft.registry.Registry; -import net.minecraft.registry.Registries; +import net.minecraft.util.registry.Registry; public interface UParticles { @@ -31,7 +30,7 @@ public interface UParticles { DefaultParticleType LIGHTNING_BOLT = register("lightning_bolt", FabricParticleTypes.simple(true)); static > T register(String name, T type) { - return Registry.register(Registries.PARTICLE_TYPE, Unicopia.id(name), type); + return Registry.register(Registry.PARTICLE_TYPE, Unicopia.id(name), type); } static void bootstrap() {} diff --git a/src/main/java/com/minelittlepony/unicopia/util/RegistryIndexer.java b/src/main/java/com/minelittlepony/unicopia/util/RegistryIndexer.java index cec58e86..6745b4ea 100644 --- a/src/main/java/com/minelittlepony/unicopia/util/RegistryIndexer.java +++ b/src/main/java/com/minelittlepony/unicopia/util/RegistryIndexer.java @@ -2,7 +2,7 @@ package com.minelittlepony.unicopia.util; import com.minelittlepony.common.client.gui.IField; -import net.minecraft.registry.Registry; +import net.minecraft.util.registry.Registry; public class RegistryIndexer { diff --git a/src/main/java/com/minelittlepony/unicopia/util/RegistryUtils.java b/src/main/java/com/minelittlepony/unicopia/util/RegistryUtils.java index d2619e91..4a235fe5 100644 --- a/src/main/java/com/minelittlepony/unicopia/util/RegistryUtils.java +++ b/src/main/java/com/minelittlepony/unicopia/util/RegistryUtils.java @@ -5,20 +5,23 @@ import java.util.stream.Stream; import com.mojang.serialization.Lifecycle; import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder; -import net.minecraft.registry.tag.TagKey; +import net.minecraft.tag.TagKey; import net.minecraft.util.Identifier; -import net.minecraft.registry.*; -import net.minecraft.registry.entry.RegistryEntry; -import net.minecraft.registry.entry.RegistryEntryList; +import net.minecraft.util.registry.DefaultedRegistry; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryEntry; +import net.minecraft.util.registry.RegistryEntryList; +import net.minecraft.util.registry.RegistryKey; +import net.minecraft.util.registry.SimpleRegistry; import net.minecraft.world.World; public interface RegistryUtils { static Registry createSimple(Identifier id) { - return FabricRegistryBuilder.from(new SimpleRegistry(RegistryKey.ofRegistry(id), Lifecycle.stable())).buildAndRegister(); + return FabricRegistryBuilder.from(new SimpleRegistry(RegistryKey.ofRegistry(id), Lifecycle.stable(), null)).buildAndRegister(); } static Registry createDefaulted(Identifier id, String def) { - return FabricRegistryBuilder.from(new SimpleDefaultedRegistry(def, RegistryKey.ofRegistry(id), Lifecycle.stable(), false)).buildAndRegister(); + return FabricRegistryBuilder.from(new DefaultedRegistry(def, RegistryKey.ofRegistry(id), Lifecycle.stable(), null)).buildAndRegister(); } static RegistryEntryList entriesForTag(World world, TagKey key) {