From 69e0e0b6e54e47cccb457af2094ad62e614d60d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 09:05:33 +0100 Subject: [PATCH 1/7] 2.0.10 --- CHANGELOG.md | 12 ++ .../friendsandfoes/FriendsAndFoes.java | 3 + ...PlayerIllusionDeadmau5FeatureRenderer.java | 3 + .../PlayerIllusionEntityRenderer.java | 3 + .../friendsandfoes/entity/MoobloomEntity.java | 8 +- .../entity/PlayerIllusionEntity.java | 14 +- .../friendsandfoes/entity/RascalEntity.java | 33 +++-- .../events/lifecycle/ClientSetupEvent.java | 23 +++ .../mixin/PlayerEntityMixin.java | 73 +++++++--- .../friendsandfoes/modcompat/ModChecker.java | 52 +++++++ .../friendsandfoes/modcompat/ModCompat.java | 34 +++++ .../network/packet/TotemEffectPacket.java | 1 - .../friendsandfoes/platform/Platform.java | 5 + .../friendsandfoes/platform/TotemHelper.java | 26 ---- .../tag/FriendsAndFoesTags.java | 1 - .../util/client/PlayerProvider.java | 21 --- .../assets/friendsandfoes/lang/en_us.json | 4 +- .../assets/friendsandfoes/lang/es_mx.json | 133 ++++++++++++++++++ .../assets/friendsandfoes/lang/ko_kr.json | 133 ++++++++++++++++++ .../main/resources/catalogue_background.png | Bin 157715 -> 48233 bytes .../data/curios/tags/items/charm.json | 5 - .../data/trinkets/tags/items/charm/charm.json | 5 - .../fabric/FriendsAndFoesFabricClient.java | 27 +--- .../fabric/CatalogueCompat.java} | 4 +- .../modcompat/fabric/ModCheckerImpl.java | 20 +++ .../fabric/ModMenuCompat.java} | 8 +- .../modcompat/fabric/TrinketsCompat.java | 35 +++++ .../platform/fabric/PlatformImpl.java | 6 + .../platform/fabric/TotemHelperImpl.java | 31 ---- .../entities/friendsandfoestotem.json | 0 .../data/trinkets/slots/charm/charm.json | 0 .../data/trinkets/tags/items/charm/charm.json | 27 ++++ fabric/src/main/resources/fabric.mod.json | 8 +- .../forge/FriendsAndFoesForgeClient.java | 3 + .../modcompat/forge/CuriosCompat.java | 49 +++++++ .../modcompat/forge/ModCheckerImpl.java | 20 +++ .../forge/curios/CuriosTotemRenderer.java | 51 +++++++ .../forge/PacketChannelManagerImpl.java | 17 ++- .../platform/forge/PlatformImpl.java | 6 + .../platform/forge/TotemHelperImpl.java | 25 ---- forge/src/main/resources/META-INF/mods.toml | 4 +- .../data/curios/tags/items/charm.json | 27 ++++ .../curios/entities/totems.json | 8 ++ gradle.properties | 2 +- 44 files changed, 774 insertions(+), 196 deletions(-) create mode 100644 common/src/main/java/com/faboslav/friendsandfoes/events/lifecycle/ClientSetupEvent.java create mode 100644 common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModChecker.java create mode 100644 common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModCompat.java delete mode 100644 common/src/main/java/com/faboslav/friendsandfoes/platform/TotemHelper.java delete mode 100644 common/src/main/java/com/faboslav/friendsandfoes/util/client/PlayerProvider.java create mode 100644 common/src/main/resources/assets/friendsandfoes/lang/es_mx.json create mode 100644 common/src/main/resources/assets/friendsandfoes/lang/ko_kr.json delete mode 100644 common/src/main/resources/data/curios/tags/items/charm.json delete mode 100644 common/src/main/resources/data/trinkets/tags/items/charm/charm.json rename fabric/src/main/java/com/faboslav/friendsandfoes/{integrations/fabric/CatalogueIntegration.java => modcompat/fabric/CatalogueCompat.java} (85%) create mode 100644 fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModCheckerImpl.java rename fabric/src/main/java/com/faboslav/friendsandfoes/{integrations/fabric/ModMenuIntegration.java => modcompat/fabric/ModMenuCompat.java} (71%) create mode 100644 fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/TrinketsCompat.java delete mode 100644 fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/TotemHelperImpl.java rename {common => fabric}/src/main/resources/data/trinkets/entities/friendsandfoestotem.json (100%) rename {common => fabric}/src/main/resources/data/trinkets/slots/charm/charm.json (100%) create mode 100644 fabric/src/main/resources/data/trinkets/tags/items/charm/charm.json create mode 100644 forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java create mode 100644 forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/ModCheckerImpl.java create mode 100644 forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java delete mode 100644 forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/TotemHelperImpl.java create mode 100644 forge/src/main/resources/data/curios/tags/items/charm.json create mode 100644 forge/src/main/resources/data/friendsandfoes/curios/entities/totems.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 28a732e19..73a3c3e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## 2.0.10 + +- Fixed crash related to rascal spawns in mineshafts +- Added anger particles to rascal to indicate that hitting it is not an option +- Added missing charm slot for curios +- Added missing translations for BetterF3 mod +- Improved trigger logic for totems +- Improved compatibility with the curios mod and other totems +- Improved compatibility with the trinkets mod and other totems +- Improved catalogue compatibility +- Updated translations + ## 2.0.9 - Fixed Glare follow logic when tamed diff --git a/common/src/main/java/com/faboslav/friendsandfoes/FriendsAndFoes.java b/common/src/main/java/com/faboslav/friendsandfoes/FriendsAndFoes.java index 7dec2435c..cef698e67 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/FriendsAndFoes.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/FriendsAndFoes.java @@ -7,6 +7,7 @@ import com.faboslav.friendsandfoes.events.lifecycle.RegisterReloadListenerEvent; import com.faboslav.friendsandfoes.events.lifecycle.SetupEvent; import com.faboslav.friendsandfoes.init.*; +import com.faboslav.friendsandfoes.modcompat.ModChecker; import com.faboslav.friendsandfoes.network.MessageHandler; import com.faboslav.friendsandfoes.network.packet.MoobloomVariantsSyncPacket; import com.faboslav.friendsandfoes.platform.BiomeModifications; @@ -40,6 +41,8 @@ public static Logger getLogger() { } public static void init() { + ModChecker.setupModCompat(); + FriendsAndFoesActivities.init(); FriendsAndFoesBlocks.init(); FriendsAndFoesCriteria.init(); diff --git a/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/feature/PlayerIllusionDeadmau5FeatureRenderer.java b/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/feature/PlayerIllusionDeadmau5FeatureRenderer.java index dfee97068..5692f52a1 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/feature/PlayerIllusionDeadmau5FeatureRenderer.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/feature/PlayerIllusionDeadmau5FeatureRenderer.java @@ -2,6 +2,8 @@ import com.faboslav.friendsandfoes.client.render.entity.model.PlayerIllusionEntityModel; import com.faboslav.friendsandfoes.entity.PlayerIllusionEntity; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumerProvider; @@ -12,6 +14,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3f; +@Environment(value = EnvType.CLIENT) public final class PlayerIllusionDeadmau5FeatureRenderer extends FeatureRenderer> { public PlayerIllusionDeadmau5FeatureRenderer(FeatureRendererContext> featureRendererContext) { diff --git a/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/renderer/PlayerIllusionEntityRenderer.java b/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/renderer/PlayerIllusionEntityRenderer.java index 2438532c5..0759d1311 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/renderer/PlayerIllusionEntityRenderer.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/client/render/entity/renderer/PlayerIllusionEntityRenderer.java @@ -6,6 +6,8 @@ import com.faboslav.friendsandfoes.client.render.entity.feature.PlayerIllusionHeldItemFeatureRenderer; import com.faboslav.friendsandfoes.client.render.entity.model.PlayerIllusionEntityModel; import com.faboslav.friendsandfoes.entity.PlayerIllusionEntity; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.RenderLayer; @@ -28,6 +30,7 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3f; +@Environment(value = EnvType.CLIENT) public final class PlayerIllusionEntityRenderer extends MobEntityRenderer> { public PlayerIllusionEntityRenderer(EntityRendererFactory.Context ctx, boolean slim) { diff --git a/common/src/main/java/com/faboslav/friendsandfoes/entity/MoobloomEntity.java b/common/src/main/java/com/faboslav/friendsandfoes/entity/MoobloomEntity.java index cdffb0e1c..d7a0d5c6a 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/entity/MoobloomEntity.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/entity/MoobloomEntity.java @@ -271,7 +271,13 @@ private void setVariant(MoobloomVariant variant) { } public MoobloomVariant getVariant() { - return MoobloomVariantManager.MOOBLOOM_VARIANT_MANAGER.getMoobloomVariantByName(this.dataTracker.get(VARIANT)); + MoobloomVariant moobloomVariant = MoobloomVariantManager.MOOBLOOM_VARIANT_MANAGER.getMoobloomVariantByName(this.dataTracker.get(VARIANT)); + + if (moobloomVariant == null) { + moobloomVariant = MoobloomVariantManager.MOOBLOOM_VARIANT_MANAGER.getDefaultMoobloomVariant(); + } + + return moobloomVariant; } static { diff --git a/common/src/main/java/com/faboslav/friendsandfoes/entity/PlayerIllusionEntity.java b/common/src/main/java/com/faboslav/friendsandfoes/entity/PlayerIllusionEntity.java index 46a0d35df..9938448be 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/entity/PlayerIllusionEntity.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/entity/PlayerIllusionEntity.java @@ -1,7 +1,9 @@ package com.faboslav.friendsandfoes.entity; import com.faboslav.friendsandfoes.init.FriendsAndFoesSoundEvents; -import com.faboslav.friendsandfoes.util.client.PlayerProvider; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.PlayerListEntry; import net.minecraft.client.render.entity.PlayerModelPart; import net.minecraft.client.util.DefaultSkinHelper; @@ -112,15 +114,18 @@ public boolean damage( return true; } + @Environment(value = EnvType.CLIENT) public boolean isPartVisible(PlayerModelPart modelPart) { return (this.getDataTracker().get(PLAYER_MODEL_PARTS) & modelPart.getBitFlag()) == modelPart.getBitFlag(); } + @Environment(value = EnvType.CLIENT) public boolean hasSkinTexture() { PlayerListEntry playerListEntry = this.getPlayerListEntry(); return playerListEntry != null && playerListEntry.hasSkinTexture(); } + @Environment(value = EnvType.CLIENT) public Identifier getSkinTexture() { PlayerListEntry playerListEntry = this.getPlayerListEntry(); UUID uuid = this.getPlayerUuid(); @@ -132,6 +137,7 @@ public Identifier getSkinTexture() { return playerListEntry == null ? DefaultSkinHelper.getTexture(uuid):playerListEntry.getSkinTexture(); } + @Environment(value = EnvType.CLIENT) public String getModel() { PlayerListEntry playerListEntry = this.getPlayerListEntry(); UUID uuid = this.getPlayerUuid(); @@ -146,11 +152,13 @@ public String getModel() { } @Nullable + @Environment(value = EnvType.CLIENT) public Identifier getCapeTexture() { PlayerListEntry playerListEntry = this.getPlayerListEntry(); return playerListEntry == null ? null:playerListEntry.getCapeTexture(); } + @Environment(value = EnvType.CLIENT) public boolean canRenderElytraTexture() { return this.getPlayerListEntry() != null; } @@ -161,10 +169,12 @@ public Identifier getElytraTexture() { return playerListEntry == null ? null:playerListEntry.getElytraTexture(); } + @Environment(value = EnvType.CLIENT) public boolean canRenderCapeTexture() { return this.getPlayerListEntry() != null; } + @Environment(value = EnvType.CLIENT) @Nullable private PlayerListEntry getPlayerListEntry() { if (this.playerListEntry == null) { @@ -174,7 +184,7 @@ private PlayerListEntry getPlayerListEntry() { uuid = this.getUuid(); } - this.playerListEntry = PlayerProvider.getClientPlayerListEntry(uuid); + this.playerListEntry = MinecraftClient.getInstance().getNetworkHandler().getPlayerListEntry(uuid); } return this.playerListEntry; diff --git a/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java b/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java index 756ad9823..ca5f1a020 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java @@ -33,16 +33,17 @@ import net.minecraft.sound.SoundEvent; import net.minecraft.tag.StructureTags; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Box; import net.minecraft.util.math.random.Random; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryEntry; import net.minecraft.world.LocalDifficulty; import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.World; import net.minecraft.world.gen.StructureAccessor; +import net.minecraft.world.gen.structure.Structure; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.List; public final class RascalEntity extends PassiveEntity implements AnimatedEntity { @@ -86,27 +87,26 @@ public static boolean canSpawn( ) { if (spawnReason == SpawnReason.NATURAL) { ServerWorld serverWorld = serverWorldAccess.toServerWorld(); + Registry structureRegistry = serverWorldAccess.getRegistryManager().get(Registry.STRUCTURE_KEY); StructureAccessor structureAccessor = serverWorld.getStructureAccessor(); - if (structureAccessor.getStructureContaining( - blockPos, - StructureTags.MINESHAFT - ).hasChildren() == false) { + if ( + blockPos.getY() > 63 + || serverWorldAccess.isSkyVisible(blockPos) + ) { return false; } - List nearbyRascals = serverWorld.getEntitiesByClass(LivingEntity.class, new Box(blockPos).expand(32.0F), (livingEntity) -> { - return livingEntity instanceof RascalEntity || livingEntity instanceof PlayerEntity; - }); - - if (nearbyRascals.isEmpty() == false) { - return false; + for (RegistryEntry structure : structureRegistry.getOrCreateEntryList(StructureTags.MINESHAFT)) { + if (structureAccessor.getStructureAt(blockPos, structure.value()).hasChildren()) { + return true; + } } - return blockPos.getY() < 63 && serverWorldAccess.isSkyVisible(blockPos) == false; + return false; } - return false; + return true; } @Override @@ -305,6 +305,7 @@ public boolean damage( this.playHurtSound(source); this.playDisappearSound(); this.spawnCloudParticles(); + this.spawnAngerParticles(); this.discard(); return false; @@ -425,6 +426,10 @@ public void spawnCloudParticles() { ParticleSpawner.spawnParticles(this, ParticleTypes.CLOUD, 16, 0.1D); } + public void spawnAngerParticles() { + ParticleSpawner.spawnParticles(this, ParticleTypes.ANGRY_VILLAGER, 16, 0.1D); + } + static { POSE_TICKS = DataTracker.registerData(RascalEntity.class, TrackedDataHandlerRegistry.INTEGER); CAUGHT_COUNT = DataTracker.registerData(RascalEntity.class, TrackedDataHandlerRegistry.INTEGER); diff --git a/common/src/main/java/com/faboslav/friendsandfoes/events/lifecycle/ClientSetupEvent.java b/common/src/main/java/com/faboslav/friendsandfoes/events/lifecycle/ClientSetupEvent.java new file mode 100644 index 000000000..1988fc43b --- /dev/null +++ b/common/src/main/java/com/faboslav/friendsandfoes/events/lifecycle/ClientSetupEvent.java @@ -0,0 +1,23 @@ +package com.faboslav.friendsandfoes.events.lifecycle; + +import com.faboslav.friendsandfoes.events.base.EventHandler; + +import java.util.function.Consumer; + +/** + * Event related is code based on The Bumblezone/Resourceful Lib mods with permissions from the authors + * + * @author TelepathicGrunt + * https://github.com/TelepathicGrunt/Bumblezone + * @author ThatGravyBoat + * https://github.com/Team-Resourceful/ResourcefulLib + */ +public record ClientSetupEvent(Consumer enqueue) +{ + + public static final EventHandler EVENT = new EventHandler<>(); + + public void enqueueWork(Runnable runnable) { + enqueue.accept(runnable); + } +} diff --git a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java index 8510a3a86..2abbf6383 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java @@ -4,8 +4,9 @@ import com.faboslav.friendsandfoes.init.FriendsAndFoesEntityTypes; import com.faboslav.friendsandfoes.init.FriendsAndFoesItems; import com.faboslav.friendsandfoes.init.FriendsAndFoesSoundEvents; +import com.faboslav.friendsandfoes.modcompat.ModChecker; +import com.faboslav.friendsandfoes.modcompat.ModCompat; import com.faboslav.friendsandfoes.network.packet.TotemEffectPacket; -import com.faboslav.friendsandfoes.platform.TotemHelper; import com.faboslav.friendsandfoes.tag.FriendsAndFoesTags; import net.minecraft.advancement.criterion.Criteria; import net.minecraft.entity.Entity; @@ -38,7 +39,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.function.Predicate; @Mixin(PlayerEntity.class) @@ -105,28 +108,27 @@ private void friendsandfoes_updateWildfireCrown() { } @Inject( - at = @At("HEAD"), + at = @At("TAIL"), method = "damage", cancellable = true ) public void friendsandfoes_tryUseTotems(DamageSource source, float amount, CallbackInfoReturnable cir) { - if (this.getHealth() <= this.getMaxHealth() / 2.0F) { - PlayerEntityMixin entity = this; - - ItemStack offhandItemStack = entity.getStackInHand(Hand.OFF_HAND); - ItemStack mainhandItemStack = entity.getStackInHand(Hand.MAIN_HAND); - ItemStack moddedSlotItemStack = TotemHelper.getTotemFromModdedSlots(((PlayerEntity) (Object) entity), PlayerEntityMixin::isTotem); - - @Nullable - ItemStack totemItemStack = null; - - if (isTotem(mainhandItemStack)) { - totemItemStack = mainhandItemStack; - } else if (isTotem(offhandItemStack)) { - totemItemStack = offhandItemStack; - } else if (moddedSlotItemStack != null) { - totemItemStack = moddedSlotItemStack; - } + PlayerEntityMixin entity = this; + PlayerEntity player = (PlayerEntity) (Object) this; + Entity attacker = source.getAttacker(); + + if ( + player.isAlive() + && source.isFire() == false + && source.isFromFalling() == false + && source.isFallingBlock() == false + && source.getAttacker() != null + && this.getHealth() <= this.getMaxHealth() / 2.0F + ) { + ItemStack totemItemStack = friendsandfoes_getTotem( + friendsandfoes_getTotemFromHands(player), + friendsandfoes_getTotemFromCustomEquipmentSlots(player) + ); if (totemItemStack != null) { if ((Object) this instanceof ServerPlayerEntity) { @@ -158,7 +160,38 @@ public void friendsandfoes_tryUseTotems(DamageSource source, float amount, Callb } } - private static boolean isTotem(ItemStack itemStack) { + @Nullable + private static ItemStack friendsandfoes_getTotem(ItemStack... itemStacks) { + return Arrays.stream(itemStacks).filter(Objects::nonNull).toList().stream().findFirst().orElse(null); + } + + @Nullable + private static ItemStack friendsandfoes_getTotemFromHands(PlayerEntity player) { + for (Hand hand : Hand.values()) { + ItemStack itemStack = player.getStackInHand(hand); + + if (friendsandfoes_isTotem(itemStack)) { + return itemStack; + } + } + + return null; + } + + @Nullable + private static ItemStack friendsandfoes_getTotemFromCustomEquipmentSlots(PlayerEntity player) { + for (ModCompat compat : ModChecker.CUSTOM_EQUIPMENT_SLOTS_COMPATS) { + ItemStack itemStack = compat.getEquippedItemFromCustomSlots(player, PlayerEntityMixin::friendsandfoes_isTotem); + + if (itemStack != null) { + return itemStack; + } + } + + return null; + } + + private static boolean friendsandfoes_isTotem(ItemStack itemStack) { return itemStack.isIn(FriendsAndFoesTags.TOTEMS); } diff --git a/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModChecker.java b/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModChecker.java new file mode 100644 index 000000000..535a8a77f --- /dev/null +++ b/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModChecker.java @@ -0,0 +1,52 @@ +package com.faboslav.friendsandfoes.modcompat; + +import com.faboslav.friendsandfoes.FriendsAndFoes; +import com.faboslav.friendsandfoes.platform.Platform; +import dev.architectury.injectables.annotations.ExpectPlatform; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +/** + * Related code is based on The Bumblezone/Resourceful Lib mods with permissions from the authors + * + * @author TelepathicGrunt + * https://github.com/TelepathicGrunt/Bumblezone + * @author ThatGravyBoat + * https://github.com/Team-Resourceful/ResourcefulLib + */ +public final class ModChecker +{ + public static final List CUSTOM_EQUIPMENT_SLOTS_COMPATS = new ArrayList<>(); + + public static void setupModCompat() { + String modId = ""; + + try { + setupPlatformModCompat(); + } catch (Throwable e) { + FriendsAndFoes.getLogger().error("Failed to setup compat with " + modId); + e.printStackTrace(); + } + } + + @ExpectPlatform + public static void setupPlatformModCompat() { + throw new AssertionError(); + } + + public static void loadModCompat(String modId, Supplier loader) { + try { + if (Platform.isModLoaded(modId)) { + ModCompat compat = loader.get(); + if (compat.compatTypes().contains(ModCompat.Type.CUSTOM_EQUIPMENT_SLOTS)) { + CUSTOM_EQUIPMENT_SLOTS_COMPATS.add(compat); + } + } + } catch (Throwable e) { + FriendsAndFoes.getLogger().error("Failed to load compat with " + modId); + e.printStackTrace(); + } + } +} diff --git a/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModCompat.java b/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModCompat.java new file mode 100644 index 000000000..2b9bf0aa2 --- /dev/null +++ b/common/src/main/java/com/faboslav/friendsandfoes/modcompat/ModCompat.java @@ -0,0 +1,34 @@ +package com.faboslav.friendsandfoes.modcompat; + + +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import org.jetbrains.annotations.Nullable; + +import java.util.EnumSet; +import java.util.function.Predicate; + +/** + * Related code is based on The Bumblezone/Resourceful Lib mods with permissions from the authors + * + * @author TelepathicGrunt + * https://github.com/TelepathicGrunt/Bumblezone + * @author ThatGravyBoat + * https://github.com/Team-Resourceful/ResourcefulLib + */ +public interface ModCompat +{ + default EnumSet compatTypes() { + return EnumSet.noneOf(Type.class); + } + + @Nullable + default ItemStack getEquippedItemFromCustomSlots(Entity entity, Predicate itemStackPredicate) { + return null; + } + + enum Type + { + CUSTOM_EQUIPMENT_SLOTS, + } +} diff --git a/common/src/main/java/com/faboslav/friendsandfoes/network/packet/TotemEffectPacket.java b/common/src/main/java/com/faboslav/friendsandfoes/network/packet/TotemEffectPacket.java index 13838cdbe..157b9649c 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/network/packet/TotemEffectPacket.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/network/packet/TotemEffectPacket.java @@ -69,7 +69,6 @@ public PacketContext handle(final TotemEffectPacket packet) { } public TotemEffectPacket decode(final PacketByteBuf buf) { - FriendsAndFoes.getLogger().info(String.valueOf(buf)); return new TotemEffectPacket(buf.readItemStack(), buf.readInt()); } diff --git a/common/src/main/java/com/faboslav/friendsandfoes/platform/Platform.java b/common/src/main/java/com/faboslav/friendsandfoes/platform/Platform.java index d652e64fd..de5c96915 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/platform/Platform.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/platform/Platform.java @@ -8,5 +8,10 @@ public final class Platform public static String getProjectSlug() { throw new AssertionError(); } + + @ExpectPlatform + public static boolean isModLoaded(String modId) { + throw new AssertionError(); + } } diff --git a/common/src/main/java/com/faboslav/friendsandfoes/platform/TotemHelper.java b/common/src/main/java/com/faboslav/friendsandfoes/platform/TotemHelper.java deleted file mode 100644 index 72164c063..000000000 --- a/common/src/main/java/com/faboslav/friendsandfoes/platform/TotemHelper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.faboslav.friendsandfoes.platform; - -import com.faboslav.friendsandfoes.FriendsAndFoes; -import dev.architectury.injectables.annotations.ExpectPlatform; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; -import org.jetbrains.annotations.Nullable; - -import java.util.function.Predicate; - -public final class TotemHelper -{ - public static final Identifier TOTEM_EFFECT_PACKET = FriendsAndFoes.makeID("totem_effect_packet"); - public static final String TRINKETS_MOD_ID = "trinkets"; - public static final String CURIOS_MOD_ID = "curios"; - - @ExpectPlatform - @Nullable - public static ItemStack getTotemFromModdedSlots(PlayerEntity player, Predicate totemFilter) { - throw new AssertionError(); - } - - private TotemHelper() { - } -} diff --git a/common/src/main/java/com/faboslav/friendsandfoes/tag/FriendsAndFoesTags.java b/common/src/main/java/com/faboslav/friendsandfoes/tag/FriendsAndFoesTags.java index c60c71d79..cbe00c856 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/tag/FriendsAndFoesTags.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/tag/FriendsAndFoesTags.java @@ -16,7 +16,6 @@ public final class FriendsAndFoesTags { public static final TagKey COPPER_BUTTONS = blockTag("copper_buttons"); - public static final TagKey GLOW_BERRIES = blockTag("glow_berries"); public static final TagKey LIGHTNING_RODS = blockTag("lightning_rods"); public static final TagKey LIGHTNING_ROD_POI = pointOfInterestTypeTag("lightning_rods"); public static final TagKey GLARES_SPAWNABLE_ON = blockTag("glares_spawnable_on"); diff --git a/common/src/main/java/com/faboslav/friendsandfoes/util/client/PlayerProvider.java b/common/src/main/java/com/faboslav/friendsandfoes/util/client/PlayerProvider.java deleted file mode 100644 index c0c55aa7c..000000000 --- a/common/src/main/java/com/faboslav/friendsandfoes/util/client/PlayerProvider.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.faboslav.friendsandfoes.util.client; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.entity.player.PlayerEntity; - -import java.util.UUID; - -public final class PlayerProvider -{ - public static PlayerEntity getClientPlayer() { - return MinecraftClient.getInstance().player; - } - - public static PlayerListEntry getClientPlayerListEntry(UUID uuid) { - return MinecraftClient.getInstance().getNetworkHandler().getPlayerListEntry(uuid); - } - - private PlayerProvider() { - } -} diff --git a/common/src/main/resources/assets/friendsandfoes/lang/en_us.json b/common/src/main/resources/assets/friendsandfoes/lang/en_us.json index 3b68f6ba4..f5996076a 100644 --- a/common/src/main/resources/assets/friendsandfoes/lang/en_us.json +++ b/common/src/main/resources/assets/friendsandfoes/lang/en_us.json @@ -129,5 +129,7 @@ "subtitle.entity.friendsandfoes.wildfire.shoot": "Wildfire shoots", "subtitle.entity.friendsandfoes.wildfire.step": "Footsteps", "subtitle.entity.friendsandfoes.wildfire.summon_blaze": "Wildfire summons blazes", - "trinkets.slot.charm.charm": "Charm" + "trinkets.slot.charm.charm": "Charm", + "text.betterf3.line.glares": "Glares", + "text.betterf3.line.rascals": "Rascals" } \ No newline at end of file diff --git a/common/src/main/resources/assets/friendsandfoes/lang/es_mx.json b/common/src/main/resources/assets/friendsandfoes/lang/es_mx.json new file mode 100644 index 000000000..074437554 --- /dev/null +++ b/common/src/main/resources/assets/friendsandfoes/lang/es_mx.json @@ -0,0 +1,133 @@ +{ + "advancements.husbandry.beehive.title": "Conciencia Ecologica", + "advancements.husbandry.beehive.description": "Obtener todos los tipos de colmenas", + "advancements.adventure.kill_iceologer.title": "Estuve aqui, vivi, yo..", + "advancements.adventure.kill_iceologer.description": "Mata al Hielomante", + "advancements.adventure.kill_illusioner.title": "Za Warudo", + "advancements.adventure.kill_illusioner.description": "Mata al ilusionista... si es que realmente existe", + "advancements.husbandry.shear_a_moobloom.title": "MooBoom!", + "advancements.husbandry.shear_a_moobloom.description": "Trasquila un moobloom", + "advancements.adventure.summon_copper_golem.title": "¡Allá vas!", + "advancements.adventure.summon_copper_golem.description": "Invoca a un golem de cobre", + "advancements.husbandry.tame_a_glare.title": "Quejumbroso y lindo", + "advancements.husbandry.tame_a_glare.description": "Doma un glare", + "advancements.adventure.the_magicians.title": "Los magos", + "advancements.adventure.the_magicians.description": "Mata a los tres magos maldeanos", + "advancements.adventure.it_bites.title": "Muerde", + "advancements.adventure.it_bites.description": "Mata al mauler", + "advancements.survival.activate_zombie_horse_trap.title": "Jinetes en la tormenta", + "advancements.survival.activate_zombie_horse_trap.description": "Activa una trampa para caballos zombis", + "advancements.nether.find_citadel.title": "¿Una fortaleza? ¡No, una ciudadela!", + "advancements.nether.find_citadel.description": "Entra en una ciudadela del Nether", + "advancements.nether.kill_wildfire.title": "Déjalo caer como si estuviera caliente", + "advancements.nether.kill_wildfire.description": "Mata al Wildfire", + "advancements.nether.obtain_wildfire_crown.title": "El usurpador del infierno", + "advancements.nether.obtain_wildfire_crown.description": "Ten una corona de Wildfire en tu inventario", + "advancements.adventure.complete_hide_and_seek_game.title": "Escondite", + "advancements.adventure.complete_hide_and_seek_game.description": "Encuentra a un bribón tres veces en su pequeño juego", + "block.friendsandfoes.buttercup": "Buttercup", + "block.minecraft.beehive": "Colmena de roble", + "block.friendsandfoes.acacia_beehive": "Colmena de acacia", + "block.friendsandfoes.bamboo_beehive": "Colmena de bambú", + "block.friendsandfoes.birch_beehive": "Colmena de abedul", + "block.friendsandfoes.cherry_beehive": "Colmena de cerezo", + "block.friendsandfoes.crimson_beehive": "Colmena carmesí", + "block.friendsandfoes.dark_oak_beehive": "Colmena de roble oscuro", + "block.friendsandfoes.jungle_beehive": "Colmena de jungla", + "block.friendsandfoes.mangrove_beehive": "Colmena de manglar", + "block.friendsandfoes.spruce_beehive": "Colmena de abeto", + "block.friendsandfoes.warped_beehive": "Colmena deformada", + "block.friendsandfoes.copper_button": "Botón de cobre", + "block.friendsandfoes.exposed_copper_button": "Botón de cobre expuesto", + "block.friendsandfoes.weathered_copper_button": "Botón de cobre envejecido", + "block.friendsandfoes.oxidized_copper_button": "Botón de cobre oxidado", + "block.friendsandfoes.waxed_copper_button": "Botón de cobre encerado", + "block.friendsandfoes.waxed_exposed_copper_button": "Botón de cobre expuesto encerado", + "block.friendsandfoes.waxed_weathered_copper_button": "Botón de cobre envejecido encerado", + "block.friendsandfoes.waxed_oxidized_copper_button": "Botón de cobre oxidado encerado", + "block.friendsandfoes.exposed_lightning_rod": "Pararrayos expuesto", + "block.friendsandfoes.weathered_lightning_rod": "Pararrayos envejecido", + "block.friendsandfoes.oxidized_lightning_rod": "Pararrayos oxidado", + "block.friendsandfoes.waxed_lightning_rod": "Pararrayos encerado", + "block.friendsandfoes.waxed_exposed_lightning_rod": "Pararrayos expuesto encerado", + "block.friendsandfoes.waxed_weathered_lightning_rod": "Pararrayos envejecido encerado", + "block.friendsandfoes.waxed_oxidized_lightning_rod": "Pararrayos oxidado encerado", + "block.friendsandfoes.potted_buttercup": "Buttercup en maceta", + "entity.minecraft.villager.beekeeper": "Apicultor", + "entity.minecraft.villager.friendsandfoes.beekeeper": "Apicultor", + "entity.friendsandfoes.copper_golem": "Golem de cobre", + "entity.friendsandfoes.glare": "Resplandor", + "entity.friendsandfoes.iceologer": "Hielomante", + "entity.friendsandfoes.moobloom": "Moobloom", + "entity.friendsandfoes.rascal": "Bribón", + "entity.friendsandfoes.mauler": "Mauler", + "entity.friendsandfoes.tuff_golem": "Gólem Resistente", + "entity.friendsandfoes.wildfire": "Wildfire", + "item.friendsandfoes.buttercup": "Buttercup", + "item.friendsandfoes.glare_spawn_egg": "Generar Glare", + "item.friendsandfoes.copper_golem_spawn_egg": "Generar Gólem de Cobre", + "item.friendsandfoes.iceologer_spawn_egg": "Generar Hielomante", + "item.friendsandfoes.illusioner_spawn_egg": "Generar Ilusionista", + "item.friendsandfoes.mauler_spawn_egg": "Generar Mauler", + "item.friendsandfoes.moobloom_spawn_egg": "Generar Moobloom", + "item.friendsandfoes.rascal_spawn_egg": "Generar Bribón", + "item.friendsandfoes.tuff_golem_spawn_egg": "Generar Gólem Resistente", + "item.friendsandfoes.wildfire_spawn_egg": "Generar Wildfire", + "item.friendsandfoes.totem_of_freezing": "Tótem de Congelación", + "item.friendsandfoes.totem_of_illusion": "Tótem de Ilusión", + "item.friendsandfoes.wildfire_crown": "Corona de Wildfire", + "item.friendsandfoes.wildfire_crown_fragment": "Fragmento de Corona de Wildfire", + "subtitle.entity.friendsandfoes.glare.ambient": "Glare vuela", + "subtitle.entity.friendsandfoes.glare.death": "Glare muere", + "subtitle.entity.friendsandfoes.glare.eat": "Glare come", + "subtitle.entity.friendsandfoes.glare.grumpiness": "Glare se enfurruña", + "subtitle.entity.friendsandfoes.glare.grumpiness_short": "Glare se enfurruña", + "subtitle.entity.friendsandfoes.glare.hurt": "Glare se lastima", + "subtitle.entity.friendsandfoes.glare.rustle": "Glare se enfurruña", + "subtitle.entity.friendsandfoes.glare.shake": "Glare sacude las bayas luminosas", + "subtitle.entity.friendsandfoes.copper_golem.death": "Gólem de Cobre muere", + "subtitle.entity.friendsandfoes.copper_golem.head_spin": "Gólem de Cobre gira la cabeza", + "subtitle.entity.friendsandfoes.copper_golem.hurt": "Gólem de Cobre se lastima", + "subtitle.entity.friendsandfoes.copper_golem.repair": "Gólem de Cobre reparado", + "subtitle.entity.friendsandfoes.copper_golem.step": "Pasos", + "subtitle.entity.friendsandfoes.iceologer.ambient": "Hielomante murmura", + "subtitle.entity.friendsandfoes.iceologer.cast_spell": "Hielomante lanza hechizo", + "subtitle.entity.friendsandfoes.iceologer.death": "Hielomante muere", + "subtitle.entity.friendsandfoes.iceologer.hurt": "Hielomante se lastima", + "subtitle.entity.friendsandfoes.iceologer.prepare_slowness": "Hielomante prepara lentitud", + "subtitle.entity.friendsandfoes.iceologer.prepare_summon": "Hielomante prepara invocación", + "subtitle.entity.friendsandfoes.ice_chunk.ambient": "Trozo de hielo se agrieta", + "subtitle.entity.friendsandfoes.ice_chunk.hit": "Trozo de hielo cae", + "subtitle.entity.friendsandfoes.ice_chunk.summon": "Trozo de hielo se agrieta", + "subtitle.entity.friendsandfoes.mauler.bite": "Mauler muerde", + "subtitle.entity.friendsandfoes.mauler.death": "Mauler muere", + "subtitle.entity.friendsandfoes.mauler.growl": "Mauler gruñe", + "subtitle.entity.friendsandfoes.mauler.hurt": "Mauler se lastima", + "subtitle.entity.friendsandfoes.moobloom.convert": "Moobloom se transforma", + "subtitle.entity.friendsandfoes.player.mirror_move": "Jugador se desplaza", + "subtitle.entity.friendsandfoes.rascal.ambient": "Bribón se burla", + "subtitle.entity.friendsandfoes.rascal.disappear": "Bribón desaparece", + "subtitle.entity.friendsandfoes.rascal.nod": "Bribón asiente", + "subtitle.entity.friendsandfoes.rascal.hurt": "Bribón se lastima", + "subtitle.entity.friendsandfoes.rascal.reappear": "Bribón aparece", + "subtitle.entity.friendsandfoes.rascal.reward": "Bribón da recompensa", + "subtitle.entity.friendsandfoes.rascal.reward_bad": "Bribón da mala recompensa", + "subtitle.entity.friendsandfoes.shield_debris.impact": "Debris de escudo impactado", + "subtitle.entity.friendsandfoes.tuff_golem.glue_on": "Gólem Resistente se pega", + "subtitle.entity.friendsandfoes.tuff_golem.glue_off": "Gólem Resistente se despega", + "subtitle.entity.friendsandfoes.tuff_golem.hurt": "Gólem Resistente se lastima", + "subtitle.entity.friendsandfoes.tuff_golem.move": "Gólem Resistente se mueve", + "subtitle.entity.friendsandfoes.tuff_golem.repair": "Gólem Resistente reparado", + "subtitle.entity.friendsandfoes.tuff_golem.wake": "Gólem Resistente se despierta", + "subtitle.entity.friendsandfoes.tuff_golem.sleep": "Gólem Resistente se duerme", + "subtitle.entity.friendsandfoes.tuff_golem.step": "Pasos", + "subtitle.entity.friendsandfoes.wildfire.ambient": "Wildfire respira", + "subtitle.entity.friendsandfoes.wildfire.death": "Wildfire muere", + "subtitle.entity.friendsandfoes.wildfire.hurt": "Wildfire se lastima", + "subtitle.entity.friendsandfoes.wildfire.shield_break": "Escudo de Wildfire se rompe", + "subtitle.entity.friendsandfoes.wildfire.shockwave": "Wildfire genera ondas de choque", + "subtitle.entity.friendsandfoes.wildfire.shoot": "Wildfire dispara", + "subtitle.entity.friendsandfoes.wildfire.step": "Pasos", + "subtitle.entity.friendsandfoes.wildfire.summon_blaze": "Wildfire invoca blazes", + "trinkets.slot.charm.charm": "Amuleto" +} diff --git a/common/src/main/resources/assets/friendsandfoes/lang/ko_kr.json b/common/src/main/resources/assets/friendsandfoes/lang/ko_kr.json new file mode 100644 index 000000000..ea6996d47 --- /dev/null +++ b/common/src/main/resources/assets/friendsandfoes/lang/ko_kr.json @@ -0,0 +1,133 @@ +{ + "advancements.husbandry.beehive.title": "양봉가", + "advancements.husbandry.beehive.description": "모든 종류의 벌통을 얻기", + "advancements.adventure.kill_iceologer.title": "여기 있었네, 살았네, 나는..", + "advancements.adventure.kill_iceologer.description": "아이스로거 처치하기", + "advancements.adventure.kill_illusioner.title": "환상의 세계", + "advancements.adventure.kill_illusioner.description": "환영사를 처치하기... 실제로 존재한다면", + "advancements.husbandry.shear_a_moobloom.title": "무우붐!", + "advancements.husbandry.shear_a_moobloom.description": "무블룸 깎기", + "advancements.adventure.summon_copper_golem.title": "가자, 너의 길로", + "advancements.adventure.summon_copper_golem.description": "구리 골렘 소환하기", + "advancements.husbandry.tame_a_glare.title": "불만족스럽지만 귀여워", + "advancements.husbandry.tame_a_glare.description": "글레어 길들이기", + "advancements.adventure.the_magicians.title": "마법사들", + "advancements.adventure.the_magicians.description": "모든 환영 마법사 처치하기", + "advancements.adventure.it_bites.title": "물려!", + "advancements.adventure.it_bites.description": "마울러 처치하기", + "advancements.survival.activate_zombie_horse_trap.title": "폭풍의 기수들", + "advancements.survival.activate_zombie_horse_trap.description": "좀비 말 함정 활성화하기", + "advancements.nether.find_citadel.title": "요새? 아니, 성채야!", + "advancements.nether.find_citadel.description": "네더 성채 입장하기", + "advancements.nether.kill_wildfire.title": "뜨겁게 내려놔", + "advancements.nether.kill_wildfire.description": "와일드파이어 처치하기", + "advancements.nether.obtain_wildfire_crown.title": "새로운 지옥의 왕은 누구?", + "advancements.nether.obtain_wildfire_crown.description": "인벤토리에 와일드파이어 왕관을 가지기", + "advancements.adventure.complete_hide_and_seek_game.title": "숨바꼭질", + "advancements.adventure.complete_hide_and_seek_game.description": "라스칼의 숨바꼭질 게임에서 세 번 찾기", + "block.friendsandfoes.buttercup": "버터컵", + "block.minecraft.beehive": "참나무 벌통", + "block.friendsandfoes.acacia_beehive": "아카시아 벌통", + "block.friendsandfoes.bamboo_beehive": "대나무 벌통", + "block.friendsandfoes.birch_beehive": "자작나무 벌통", + "block.friendsandfoes.cherry_beehive": "벚나무 벌통", + "block.friendsandfoes.crimson_beehive": "진홍빛 벌통", + "block.friendsandfoes.dark_oak_beehive": "어두운 참나무 벌통", + "block.friendsandfoes.jungle_beehive": "정글 벌통", + "block.friendsandfoes.mangrove_beehive": "맹그로브 벌통", + "block.friendsandfoes.spruce_beehive": "가문비나무 벌통", + "block.friendsandfoes.warped_beehive": "변형된 벌통", + "block.friendsandfoes.copper_button": "구리 버튼", + "block.friendsandfoes.exposed_copper_button": "노출된 구리 버튼", + "block.friendsandfoes.weathered_copper_button": "낡은 구리 버튼", + "block.friendsandfoes.oxidized_copper_button": "산화된 구리 버튼", + "block.friendsandfoes.waxed_copper_button": "왁스 처리된 구리 버튼", + "block.friendsandfoes.waxed_exposed_copper_button": "왁스 처리된 노출된 구리 버튼", + "block.friendsandfoes.waxed_weathered_copper_button": "왁스 처리된 낡은 구리 버튼", + "block.friendsandfoes.waxed_oxidized_copper_button": "왁스 처리된 산화된 구리 버튼", + "block.friendsandfoes.exposed_lightning_rod": "노출된 피뢰침", + "block.friendsandfoes.weathered_lightning_rod": "낡은 피뢰침", + "block.friendsandfoes.oxidized_lightning_rod": "산화된 피뢰침", + "block.friendsandfoes.waxed_lightning_rod": "왁스 처리된 피뢰침", + "block.friendsandfoes.waxed_exposed_lightning_rod": "왁스 처리된 노출된 피뢰침", + "block.friendsandfoes.waxed_weathered_lightning_rod": "왁스 처리된 낡은 피뢰침", + "block.friendsandfoes.waxed_oxidized_lightning_rod": "왁스 처리된 산화된 피뢰침", + "block.friendsandfoes.potted_buttercup": "화분에 심은 버터컵", + "entity.minecraft.villager.beekeeper": "양봉가", + "entity.minecraft.villager.friendsandfoes.beekeeper": "양봉가", + "entity.friendsandfoes.copper_golem": "구리 골렘", + "entity.friendsandfoes.glare": "글레어", + "entity.friendsandfoes.iceologer": "아이스로거", + "entity.friendsandfoes.moobloom": "무블룸", + "entity.friendsandfoes.rascal": "라스칼", + "entity.friendsandfoes.mauler": "마울러", + "entity.friendsandfoes.tuff_golem": "응회암 골렘", + "entity.friendsandfoes.wildfire": "와일드파이어", + "item.friendsandfoes.buttercup": "버터컵", + "item.friendsandfoes.glare_spawn_egg": "글레어 스폰 알", + "item.friendsandfoes.copper_golem_spawn_egg": "구리 골렘 스폰 알", + "item.friendsandfoes.iceologer_spawn_egg": "아이스로거 스폰 알", + "item.friendsandfoes.illusioner_spawn_egg": "환영사 스폰 알", + "item.friendsandfoes.mauler_spawn_egg": "마울러 스폰 알", + "item.friendsandfoes.moobloom_spawn_egg": "무블룸 스폰 알", + "item.friendsandfoes.rascal_spawn_egg": "라스칼 스폰 알", + "item.friendsandfoes.tuff_golem_spawn_egg": "응회암 골렘 스폰 알", + "item.friendsandfoes.wildfire_spawn_egg": "와일드파이어 스폰 알", + "item.friendsandfoes.totem_of_freezing": "동결의 토템", + "item.friendsandfoes.totem_of_illusion": "환상의 토템", + "item.friendsandfoes.wildfire_crown": "와일드파이어 왕관", + "item.friendsandfoes.wildfire_crown_fragment": "와일드파이어 왕관 조각", + "subtitle.entity.friendsandfoes.glare.death": "글레어 죽음", + "subtitle.entity.friendsandfoes.glare.eat": "글레어 먹는 소리", + "subtitle.entity.friendsandfoes.glare.grumpiness": "글레어 불만족 소리", + "subtitle.entity.friendsandfoes.glare.grumpiness_short": "글레어 짧은 불만족 소리", + "subtitle.entity.friendsandfoes.glare.hurt": "글레어 아픔", + "subtitle.entity.friendsandfoes.glare.rustle": "글레어 바스락거림", + "subtitle.entity.friendsandfoes.copper_golem.death": "구리 골렘 죽음", + "subtitle.entity.friendsandfoes.copper_golem.head_spin": "구리 골렘 머리 회전", + "subtitle.entity.friendsandfoes.copper_golem.hurt": "구리 골렘 아픔", + "subtitle.entity.friendsandfoes.copper_golem.repair": "구리 골렘 수리", + "subtitle.entity.friendsandfoes.copper_golem.step": "발걸음 소리", + "subtitle.entity.friendsandfoes.iceologer.ambient": "아이스로거 중얼거림", + "subtitle.entity.friendsandfoes.iceologer.cast_spell": "아이스로거 주문 시전", + "subtitle.entity.friendsandfoes.iceologer.death": "아이스로거 죽음", + "subtitle.entity.friendsandfoes.iceologer.hurt": "아이스로거 아픔", + "subtitle.entity.friendsandfoes.iceologer.prepare_slowness": "아이스로거 둔화 준비", + "subtitle.entity.friendsandfoes.iceologer.prepare_summon": "아이스로거 소환 준비", + "subtitle.entity.friendsandfoes.ice_chunk.ambient": "얼음 조각 균열", + "subtitle.entity.friendsandfoes.ice_chunk.hit": "얼음 조각 떨어짐", + "subtitle.entity.friendsandfoes.ice_chunk.summon": "얼음 조각 균열", + "subtitle.entity.friendsandfoes.mauler.bite": "마울러 물기", + "subtitle.entity.friendsandfoes.mauler.death": "마울러 죽음", + "subtitle.entity.friendsandfoes.mauler.growl": "마울러 으르렁거림", + "subtitle.entity.friendsandfoes.mauler.hurt": "마울러 아픔", + "subtitle.entity.friendsandfoes.moobloom.convert": "무블룸 변환", + "subtitle.entity.friendsandfoes.player.mirror_move": "플레이어 이동", + "subtitle.entity.friendsandfoes.rascal.ambient": "라스칼 조롱", + "subtitle.entity.friendsandfoes.rascal.disappear": "라스칼 사라짐", + "subtitle.entity.friendsandfoes.rascal.nod": "라스칼 고개 끄덕임", + "subtitle.entity.friendsandfoes.rascal.hurt": "라스칼 아픔", + "subtitle.entity.friendsandfoes.rascal.reappear": "라스칼 나타남", + "subtitle.entity.friendsandfoes.rascal.reward": "라스칼 보상 주기", + "subtitle.entity.friendsandfoes.rascal.reward_bad": "라스칼 나쁜 보상 주기", + "subtitle.entity.friendsandfoes.shield_debris.impact": "방패 파편 충격", + "subtitle.entity.friendsandfoes.tuff_golem.glue_on": "응회암 골렘 접착", + "subtitle.entity.friendsandfoes.tuff_golem.glue_off": "응회암 골렘 접착 해제", + "subtitle.entity.friendsandfoes.tuff_golem.hurt": "응회암 골렘 아픔", + "subtitle.entity.friendsandfoes.tuff_golem.move": "응회암 골렘 이동", + "subtitle.entity.friendsandfoes.tuff_golem.repair": "응회암 골렘 수리", + "subtitle.entity.friendsandfoes.tuff_golem.wake": "응회암 골렘 깨어남", + "subtitle.entity.friendsandfoes.tuff_golem.sleep": "응회암 골렘 잠들기", + "subtitle.entity.friendsandfoes.tuff_golem.step": "발걸음 소리", + "subtitle.entity.friendsandfoes.wildfire.ambient": "와일드파이어 숨쉬기", + "subtitle.entity.friendsandfoes.wildfire.death": "와일드파이어 죽음", + "subtitle.entity.friendsandfoes.wildfire.hurt": "와일드파이어 아픔", + "subtitle.entity.friendsandfoes.wildfire.shield_break": "와일드파이어의 방패 파괴", + "subtitle.entity.friendsandfoes.wildfire.shockwave": "와일드파이어 충격파", + "subtitle.entity.friendsandfoes.wildfire.shoot": "와일드파이어 발사", + "subtitle.entity.friendsandfoes.wildfire.step": "발걸음 소리", + "subtitle.entity.friendsandfoes.wildfire.summon_blaze": "와일드파이어 블레이즈 소환", + "subtitle.entity.friendsandfoes.glare.ambient": "글레어가 앵앵댐", + "subtitle.entity.friendsandfoes.glare.shake": "글레어가 발광 열매를 털어냄", + "trinkets.slot.charm.charm": "장식" +} \ No newline at end of file diff --git a/common/src/main/resources/catalogue_background.png b/common/src/main/resources/catalogue_background.png index 19c746c95a69fa52b762544ec93380b921f8bccb..bd103780edfd0d02d9c0497535f77ddceb473fd3 100644 GIT binary patch literal 48233 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 literal 157715 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 z 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�e;>hFPMl}Oc{ao329MnT9aRX#8Hp2C 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 icMyWwIy3fX!v7C;8tuAw=fwvA0000 { - ItemStack itemStack = buf.readItemStack(); - assert client.world != null; - Entity entity = client.world.getEntityById(buf.readInt()); - - if (itemStack.getItem() == FriendsAndFoesItems.TOTEM_OF_ILLUSION.get()) { - client.execute(() -> TotemUtil.playActivateAnimation(itemStack, entity, FriendsAndFoesParticleTypes.TOTEM_OF_ILLUSION)); - } else if (itemStack.getItem() == FriendsAndFoesItems.TOTEM_OF_FREEZING.get()) { - client.execute(() -> TotemUtil.playActivateAnimation(itemStack, entity, FriendsAndFoesParticleTypes.TOTEM_OF_FREEZING)); - } - }); - } } diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/CatalogueIntegration.java b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/CatalogueCompat.java similarity index 85% rename from fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/CatalogueIntegration.java rename to fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/CatalogueCompat.java index 1db0c301e..64c1764ca 100644 --- a/fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/CatalogueIntegration.java +++ b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/CatalogueCompat.java @@ -1,4 +1,4 @@ -package com.faboslav.friendsandfoes.integrations.fabric; +package com.faboslav.friendsandfoes.modcompat.fabric; import com.faboslav.friendsandfoes.FriendsAndFoes; import com.faboslav.friendsandfoes.config.ConfigScreenBuilder; @@ -6,7 +6,7 @@ import net.fabricmc.loader.api.ModContainer; import net.minecraft.client.gui.screen.Screen; -public class CatalogueIntegration +public final class CatalogueCompat { public static Screen createConfigScreen(Screen currentScreen, ModContainer container) { if (FabricLoader.getInstance().isModLoaded("catalogue") == false) { diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModCheckerImpl.java b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModCheckerImpl.java new file mode 100644 index 000000000..20edc6da3 --- /dev/null +++ b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModCheckerImpl.java @@ -0,0 +1,20 @@ +package com.faboslav.friendsandfoes.modcompat.fabric; + +import com.faboslav.friendsandfoes.FriendsAndFoes; + +import static com.faboslav.friendsandfoes.modcompat.ModChecker.loadModCompat; + +public final class ModCheckerImpl +{ + public static void setupPlatformModCompat() { + String modId = ""; + + try { + modId = "trinkets"; + loadModCompat(modId, () -> new TrinketsCompat()); + } catch (Throwable e) { + FriendsAndFoes.getLogger().error("Failed to setup compat with " + modId); + e.printStackTrace(); + } + } +} diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/ModMenuIntegration.java b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModMenuCompat.java similarity index 71% rename from fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/ModMenuIntegration.java rename to fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModMenuCompat.java index be5a27ec4..3d4d59f78 100644 --- a/fabric/src/main/java/com/faboslav/friendsandfoes/integrations/fabric/ModMenuIntegration.java +++ b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/ModMenuCompat.java @@ -1,16 +1,12 @@ -package com.faboslav.friendsandfoes.integrations.fabric; +package com.faboslav.friendsandfoes.modcompat.fabric; import com.faboslav.friendsandfoes.FriendsAndFoes; import com.faboslav.friendsandfoes.config.ConfigScreenBuilder; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.fabricmc.loader.api.FabricLoader; -@Environment(EnvType.CLIENT) - -public final class ModMenuIntegration implements ModMenuApi +public final class ModMenuCompat implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/TrinketsCompat.java b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/TrinketsCompat.java new file mode 100644 index 000000000..32734467c --- /dev/null +++ b/fabric/src/main/java/com/faboslav/friendsandfoes/modcompat/fabric/TrinketsCompat.java @@ -0,0 +1,35 @@ +package com.faboslav.friendsandfoes.modcompat.fabric; + +import com.faboslav.friendsandfoes.modcompat.ModCompat; +import dev.emi.trinkets.api.SlotReference; +import dev.emi.trinkets.api.TrinketsApi; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Pair; +import org.jetbrains.annotations.Nullable; + +import java.util.EnumSet; +import java.util.List; +import java.util.function.Predicate; + +public final class TrinketsCompat implements ModCompat +{ + @Override + public EnumSet compatTypes() { + return EnumSet.of(Type.CUSTOM_EQUIPMENT_SLOTS); + } + + @Override + @Nullable + public ItemStack getEquippedItemFromCustomSlots(Entity entity, Predicate itemStackPredicate) { + if (entity instanceof PlayerEntity player) { + return TrinketsApi.getTrinketComponent(player).map(component -> { + List> res = component.getEquipped(itemStackPredicate); + return !res.isEmpty() ? res.get(0).getRight():null; + }).orElse(null); + } + + return null; + } +} diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/PlatformImpl.java b/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/PlatformImpl.java index e304b5fdf..e1474b928 100644 --- a/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/PlatformImpl.java +++ b/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/PlatformImpl.java @@ -1,11 +1,17 @@ package com.faboslav.friendsandfoes.platform.fabric; +import net.fabricmc.loader.api.FabricLoader; + public final class PlatformImpl { public static String getProjectSlug() { return "friends-and-foes"; } + public static boolean isModLoaded(String modId) { + return FabricLoader.getInstance().isModLoaded(modId); + } + private PlatformImpl() { } } diff --git a/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/TotemHelperImpl.java b/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/TotemHelperImpl.java deleted file mode 100644 index cda57f409..000000000 --- a/fabric/src/main/java/com/faboslav/friendsandfoes/platform/fabric/TotemHelperImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.faboslav.friendsandfoes.platform.fabric; - -import com.faboslav.friendsandfoes.platform.TotemHelper; -import dev.emi.trinkets.api.SlotReference; -import dev.emi.trinkets.api.TrinketsApi; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Pair; -import org.jetbrains.annotations.Nullable; - -import java.util.List; -import java.util.function.Predicate; - -/** - * @see TotemHelper - */ -public final class TotemHelperImpl -{ - @Nullable - public static ItemStack getTotemFromModdedSlots(PlayerEntity player, Predicate totemFilter) { - if (FabricLoader.getInstance().isModLoaded(TotemHelper.TRINKETS_MOD_ID)) { - return TrinketsApi.getTrinketComponent(player).map(component -> { - List> res = component.getEquipped(totemFilter); - return res.size() > 0 ? res.get(0).getRight():null; - }).orElse(null); - } - - return null; - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/trinkets/entities/friendsandfoestotem.json b/fabric/src/main/resources/data/trinkets/entities/friendsandfoestotem.json similarity index 100% rename from common/src/main/resources/data/trinkets/entities/friendsandfoestotem.json rename to fabric/src/main/resources/data/trinkets/entities/friendsandfoestotem.json diff --git a/common/src/main/resources/data/trinkets/slots/charm/charm.json b/fabric/src/main/resources/data/trinkets/slots/charm/charm.json similarity index 100% rename from common/src/main/resources/data/trinkets/slots/charm/charm.json rename to fabric/src/main/resources/data/trinkets/slots/charm/charm.json diff --git a/fabric/src/main/resources/data/trinkets/tags/items/charm/charm.json b/fabric/src/main/resources/data/trinkets/tags/items/charm/charm.json new file mode 100644 index 000000000..79c6affe2 --- /dev/null +++ b/fabric/src/main/resources/data/trinkets/tags/items/charm/charm.json @@ -0,0 +1,27 @@ +{ + "replace": false, + "values": [ + "#friendsandfoes:totems", + "minecraft:totem_of_undying", + { + "id": "biomemakeover:enchanted_totem", + "required": false + }, + { + "id": "voidtotem:totem_of_void_undying", + "required": false + }, + { + "id": "#voidtotem:additional_totems", + "required": false + }, + { + "id": "fwaystones:void_totem", + "required": false + }, + { + "id": "netheriteextras:totem_of_neverdying", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index ad584f459..d3950f4c6 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -11,7 +11,8 @@ "homepage": "https://github.com/Faboslav/friends-and-foes", "sources": "https://github.com/Faboslav/friends-and-foes", "issues": "https://github.com/Faboslav/friends-and-foes/issues", - "wiki": "https://github.com/Faboslav/friends-and-foes/wiki" + "wiki": "https://github.com/Faboslav/friends-and-foes/wiki", + "discord": "https://discord.com/invite/QGwFvvMQCn" }, "license": "CC-BY-NC-ND-4.0", "icon": "icon.png", @@ -27,7 +28,7 @@ "com.llamalad7.mixinextras.MixinExtrasBootstrap::init" ], "modmenu": [ - "com.faboslav.friendsandfoes.integrations.fabric.ModMenuIntegration" + "com.faboslav.friendsandfoes.modcompat.fabric.ModMenuCompat" ] }, "mixins": [ @@ -43,7 +44,6 @@ "custom": { "modmenu": { "links": { - "modmenu.discord": "https://discord.com/invite/QGwFvvMQCn", "Discord": "https://discord.com/invite/QGwFvvMQCn", "Wiki": "https://github.com/Faboslav/friends-and-foes/wiki", "CurseForge": "https://www.curseforge.com/minecraft/mc-mods/friends-and-foes", @@ -51,7 +51,7 @@ } }, "catalogue": { - "configFactory": "com.faboslav.friendsandfoes.integrations.fabric.CatalogueIntegration", + "configFactory": "com.faboslav.friendsandfoes.modcompat.fabric.CatalogueCompat", "icon": { "image": "catalogue_icon.png" }, diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/forge/FriendsAndFoesForgeClient.java b/forge/src/main/java/com/faboslav/friendsandfoes/forge/FriendsAndFoesForgeClient.java index d8fe358d3..967daf2b0 100644 --- a/forge/src/main/java/com/faboslav/friendsandfoes/forge/FriendsAndFoesForgeClient.java +++ b/forge/src/main/java/com/faboslav/friendsandfoes/forge/FriendsAndFoesForgeClient.java @@ -5,6 +5,7 @@ import com.faboslav.friendsandfoes.client.particle.FreezingTotemParticle; import com.faboslav.friendsandfoes.client.particle.IllusionTotemParticle; import com.faboslav.friendsandfoes.config.ConfigScreenBuilder; +import com.faboslav.friendsandfoes.events.lifecycle.ClientSetupEvent; import com.faboslav.friendsandfoes.init.FriendsAndFoesParticleTypes; import com.faboslav.friendsandfoes.platform.forge.RegistryHelperImpl; import net.minecraft.client.model.TexturedModelData; @@ -27,6 +28,8 @@ public final class FriendsAndFoesForgeClient { @SubscribeEvent public static void clientInit(final FMLClientSetupEvent event) { + ClientSetupEvent.EVENT.invoke(new ClientSetupEvent(Runnable::run)); + event.enqueueWork(() -> { FriendsAndFoesClient.postInit(); diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java new file mode 100644 index 000000000..091747d4e --- /dev/null +++ b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java @@ -0,0 +1,49 @@ +package com.faboslav.friendsandfoes.modcompat.forge; + +import com.faboslav.friendsandfoes.events.lifecycle.ClientSetupEvent; +import com.faboslav.friendsandfoes.init.FriendsAndFoesItems; +import com.faboslav.friendsandfoes.modcompat.ModCompat; +import com.faboslav.friendsandfoes.modcompat.forge.curios.CuriosTotemRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraftforge.fml.InterModComms; +import org.jetbrains.annotations.Nullable; +import top.theillusivec4.curios.api.CuriosApi; +import top.theillusivec4.curios.api.SlotResult; +import top.theillusivec4.curios.api.SlotTypeMessage; +import top.theillusivec4.curios.api.SlotTypePreset; +import top.theillusivec4.curios.api.client.CuriosRendererRegistry; + +import java.util.EnumSet; +import java.util.function.Predicate; + +public final class CuriosCompat implements ModCompat +{ + public CuriosCompat() { + InterModComms.sendTo("curios", SlotTypeMessage.REGISTER_TYPE, () -> SlotTypePreset.CHARM.getMessageBuilder().build()); + ClientSetupEvent.EVENT.addListener(CuriosCompat::registerRenderers); + } + + private static void registerRenderers(final ClientSetupEvent clientSetupEvent) { + CuriosRendererRegistry.register(Items.TOTEM_OF_UNDYING, CuriosTotemRenderer::new); + CuriosRendererRegistry.register(FriendsAndFoesItems.TOTEM_OF_FREEZING.get(), CuriosTotemRenderer::new); + CuriosRendererRegistry.register(FriendsAndFoesItems.TOTEM_OF_ILLUSION.get(), CuriosTotemRenderer::new); + } + + @Override + public EnumSet compatTypes() { + return EnumSet.of(Type.CUSTOM_EQUIPMENT_SLOTS); + } + + @Override + @Nullable + public ItemStack getEquippedItemFromCustomSlots(Entity entity, Predicate itemStackPredicate) { + if (entity instanceof PlayerEntity player) { + return CuriosApi.getCuriosHelper().findFirstCurio(player, itemStackPredicate).map(SlotResult::stack).orElse(null); + } + + return null; + } +} diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/ModCheckerImpl.java b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/ModCheckerImpl.java new file mode 100644 index 000000000..c162d4d81 --- /dev/null +++ b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/ModCheckerImpl.java @@ -0,0 +1,20 @@ +package com.faboslav.friendsandfoes.modcompat.forge; + +import com.faboslav.friendsandfoes.FriendsAndFoes; + +import static com.faboslav.friendsandfoes.modcompat.ModChecker.loadModCompat; + +public class ModCheckerImpl +{ + public static void setupPlatformModCompat() { + String modId = ""; + + try { + modId = "curios"; + loadModCompat(modId, () -> new CuriosCompat()); + } catch (Throwable e) { + FriendsAndFoes.getLogger().error("Failed to setup compat with " + modId); + e.printStackTrace(); + } + } +} diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java new file mode 100644 index 000000000..4ca31d10a --- /dev/null +++ b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java @@ -0,0 +1,51 @@ +package com.faboslav.friendsandfoes.modcompat.forge.curios; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.OverlayTexture; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.entity.feature.FeatureRendererContext; +import net.minecraft.client.render.entity.model.EntityModel; +import net.minecraft.client.render.model.json.ModelTransformation; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.Direction; +import top.theillusivec4.curios.api.SlotContext; +import top.theillusivec4.curios.api.client.ICurioRenderer; + +public class CuriosTotemRenderer implements ICurioRenderer +{ + @Override + public > void render( + ItemStack itemStack, + SlotContext slotContext, + MatrixStack matrices, + FeatureRendererContext featureRendererContext, + VertexConsumerProvider vertexConsumers, + int light, + float limbSwing, + float limbSwingAmount, + float partialTicks, + float ticks, + float headYaw, + float headPitch + ) { + var livingEntity = slotContext.entity(); + ICurioRenderer.translateIfSneaking(matrices, livingEntity); + ICurioRenderer.rotateIfSneaking(matrices, livingEntity); + + matrices.scale(0.35F, 0.35F, 0.35F); + matrices.translate(0.0F, 1.1F, -0.4F); + matrices.multiply(Direction.DOWN.getRotationQuaternion()); + + MinecraftClient.getInstance().getItemRenderer().renderItem( + itemStack, + ModelTransformation.Mode.FIXED, + light, + OverlayTexture.DEFAULT_UV, + matrices, + vertexConsumers, + 0 + ); + } +} \ No newline at end of file diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PacketChannelManagerImpl.java b/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PacketChannelManagerImpl.java index 4897ddc0d..25f8993d3 100644 --- a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PacketChannelManagerImpl.java +++ b/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PacketChannelManagerImpl.java @@ -3,10 +3,12 @@ import com.faboslav.friendsandfoes.network.base.Packet; import com.faboslav.friendsandfoes.network.base.PacketHandler; import com.faboslav.friendsandfoes.platform.ModVersion; -import com.faboslav.friendsandfoes.util.client.PlayerProvider; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkRegistry; import net.minecraftforge.network.PacketDistributor; @@ -47,14 +49,10 @@ public static > void registerS2CPacket( NetworkEvent.Context context = ctx.get(); context.enqueueWork(() -> { - PlayerEntity player = null; - if (context.getSender() == null) { - player = PlayerProvider.getClientPlayer(); - } + PlayerEntity player = context.getSender() == null ? getPlayer():null; if (player != null) { - PlayerEntity finalPlayer = player; - handler.handle(msg).apply(finalPlayer, finalPlayer.getWorld()); + handler.handle(msg).apply(player, player.getWorld()); } }); @@ -62,6 +60,11 @@ public static > void registerS2CPacket( }); } + @OnlyIn(Dist.CLIENT) + private static PlayerEntity getPlayer() { + return MinecraftClient.getInstance().player; + } + public static > void registerC2SPacket( Identifier name, Identifier id, diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PlatformImpl.java b/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PlatformImpl.java index 5ee21aeb2..a2769b953 100644 --- a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PlatformImpl.java +++ b/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/PlatformImpl.java @@ -1,11 +1,17 @@ package com.faboslav.friendsandfoes.platform.forge; +import net.minecraftforge.fml.ModList; + public final class PlatformImpl { public static String getProjectSlug() { return "friends-and-foes-forge"; } + public static boolean isModLoaded(String modId) { + return ModList.get().isLoaded(modId); + } + private PlatformImpl() { } } diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/TotemHelperImpl.java b/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/TotemHelperImpl.java deleted file mode 100644 index b61f59a90..000000000 --- a/forge/src/main/java/com/faboslav/friendsandfoes/platform/forge/TotemHelperImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.faboslav.friendsandfoes.platform.forge; - -import com.faboslav.friendsandfoes.platform.TotemHelper; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.ModList; -import top.theillusivec4.curios.api.CuriosApi; -import top.theillusivec4.curios.api.SlotResult; - -import java.util.function.Predicate; - -/** - * @see TotemHelper - */ -public final class TotemHelperImpl -{ - public static ItemStack getTotemFromModdedSlots(PlayerEntity player, Predicate totemFilter) { - if (ModList.get().isLoaded(TotemHelper.CURIOS_MOD_ID)) { - return CuriosApi.getCuriosHelper().findFirstCurio(player, totemFilter).map(SlotResult::stack).orElse(null); - } - - return null; - } -} - diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 880075baa..c65635766 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -1,7 +1,6 @@ modLoader = "javafml" loaderVersion = "*" license = "CC-BY-NC-ND-4.0" -displayURL = "https://github.com/Faboslav/friends-and-foes" issueTrackerURL = "https://github.com/Faboslav/friends-and-foes/issues" [[mods]] @@ -11,6 +10,7 @@ displayName = "${modName}" authors = "${modAuthor}" description = "${modDescription}" logoFile = "icon.png" +displayURL = "https://github.com/Faboslav/friends-and-foes" [[dependencies.${ modId }]] modId = "forge" @@ -24,5 +24,5 @@ versionRange = "[${minecraftVersion},)" [modproperties.${ modId }] catalogueImageIcon = "catalogue_icon.png" -catalogueBackground = "catalogue_logo.png" +catalogueBackground = "catalogue_background.png" configuredBackground = "catalogue_background.png" \ No newline at end of file diff --git a/forge/src/main/resources/data/curios/tags/items/charm.json b/forge/src/main/resources/data/curios/tags/items/charm.json new file mode 100644 index 000000000..79c6affe2 --- /dev/null +++ b/forge/src/main/resources/data/curios/tags/items/charm.json @@ -0,0 +1,27 @@ +{ + "replace": false, + "values": [ + "#friendsandfoes:totems", + "minecraft:totem_of_undying", + { + "id": "biomemakeover:enchanted_totem", + "required": false + }, + { + "id": "voidtotem:totem_of_void_undying", + "required": false + }, + { + "id": "#voidtotem:additional_totems", + "required": false + }, + { + "id": "fwaystones:void_totem", + "required": false + }, + { + "id": "netheriteextras:totem_of_neverdying", + "required": false + } + ] +} \ No newline at end of file diff --git a/forge/src/main/resources/data/friendsandfoes/curios/entities/totems.json b/forge/src/main/resources/data/friendsandfoes/curios/entities/totems.json new file mode 100644 index 000000000..9bc682614 --- /dev/null +++ b/forge/src/main/resources/data/friendsandfoes/curios/entities/totems.json @@ -0,0 +1,8 @@ +{ + "entities": [ + "player" + ], + "slots": [ + "charm" + ] +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2523f83b9..79722b28b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.configureondemand=false # Mod mod_name=Friends&Foes mod_id=friendsandfoes -mod_version=2.0.9 +mod_version=2.0.10 mod_author=Faboslav mod_description=Adds outvoted and forgotten mobs from the mob votes in a believable vanilla plus style. maven_group=com.faboslav.friendsandfoes From b02689d215bb80f9d998d8d5bf2c955adb962851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 09:09:23 +0100 Subject: [PATCH 2/7] 1.19.3 --- .../com/faboslav/friendsandfoes/entity/RascalEntity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java b/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java index 7681e12a9..4c96c9a63 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/entity/RascalEntity.java @@ -29,13 +29,14 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.particle.ParticleTypes; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.registry.tag.StructureTags; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundEvent; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.random.Random; -import net.minecraft.util.registry.Registry; -import net.minecraft.util.registry.RegistryEntry; import net.minecraft.world.LocalDifficulty; import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.World; @@ -87,7 +88,7 @@ public static boolean canSpawn( ) { if (spawnReason == SpawnReason.NATURAL) { ServerWorld serverWorld = serverWorldAccess.toServerWorld(); - Registry structureRegistry = serverWorldAccess.getRegistryManager().get(Registry.STRUCTURE_KEY); + Registry structureRegistry = serverWorldAccess.getRegistryManager().get(RegistryKeys.STRUCTURE); StructureAccessor structureAccessor = serverWorld.getStructureAccessor(); if ( From dd9f91892d737adc253fb7edc2ea98d463deebb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 09:25:50 +0100 Subject: [PATCH 3/7] 1.19.4 --- .../faboslav/friendsandfoes/mixin/PlayerEntityMixin.java | 9 +++++---- .../modcompat/forge/curios/CuriosTotemRenderer.java | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java index 10f0ff95a..be4e018a9 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java @@ -15,6 +15,7 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.ai.TargetPredicate; import net.minecraft.entity.damage.DamageSource; +import net.minecraft.entity.damage.DamageTypes; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.mob.MobEntity; @@ -115,13 +116,13 @@ private void friendsandfoes_updateWildfireCrown() { public void friendsandfoes_tryUseTotems(DamageSource source, float amount, CallbackInfoReturnable cir) { PlayerEntityMixin entity = this; PlayerEntity player = (PlayerEntity) (Object) this; - Entity attacker = source.getAttacker(); if ( player.isAlive() - && source.isFire() == false - && source.isFromFalling() == false - && source.isFallingBlock() == false + && source.isOf(DamageTypes.IN_FIRE) == false + && source.isOf(DamageTypes.ON_FIRE) == false + && source.isOf(DamageTypes.FALL) == false + && source.isOf(DamageTypes.FALLING_BLOCK) == false && source.getAttacker() != null && this.getHealth() <= this.getMaxHealth() / 2.0F ) { diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java index 4ca31d10a..d86707c15 100644 --- a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java +++ b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/curios/CuriosTotemRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.render.entity.feature.FeatureRendererContext; import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.render.model.json.ModelTransformation; +import net.minecraft.client.render.model.json.ModelTransformationMode; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; @@ -40,11 +41,12 @@ public > void render( MinecraftClient.getInstance().getItemRenderer().renderItem( itemStack, - ModelTransformation.Mode.FIXED, + ModelTransformationMode.FIXED, light, OverlayTexture.DEFAULT_UV, matrices, vertexConsumers, + null, 0 ); } From 9059afc005baf40952ad8ed52c73ddc235f6749b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 09:26:43 +0100 Subject: [PATCH 4/7] removed unused variable --- .../com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java index 2abbf6383..99edf805a 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java @@ -115,7 +115,6 @@ private void friendsandfoes_updateWildfireCrown() { public void friendsandfoes_tryUseTotems(DamageSource source, float amount, CallbackInfoReturnable cir) { PlayerEntityMixin entity = this; PlayerEntity player = (PlayerEntity) (Object) this; - Entity attacker = source.getAttacker(); if ( player.isAlive() From 52319f787ff11c772099bc596ce5a88dcde283d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 10:03:09 +0100 Subject: [PATCH 5/7] Better trigger logic --- .../friendsandfoes/mixin/PlayerEntityMixin.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java index 99edf805a..b7bc0d096 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/mixin/PlayerEntityMixin.java @@ -19,6 +19,7 @@ import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.mob.MobEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.particle.DefaultParticleType; import net.minecraft.particle.ParticleTypes; @@ -142,18 +143,18 @@ public void friendsandfoes_tryUseTotems(DamageSource source, float amount, Callb Criteria.USED_TOTEM.trigger(serverPlayerEntity, totemItemStack); } + Item totemItem = totemItemStack.getItem(); this.clearStatusEffects(); + TotemEffectPacket.sendToClient(((PlayerEntity) (Object) entity), totemItemStack); + totemItemStack.decrement(1); - if (totemItemStack.getItem() == FriendsAndFoesItems.TOTEM_OF_FREEZING.get()) { + if (totemItem == FriendsAndFoesItems.TOTEM_OF_FREEZING.get()) { this.friendsandfoes_freezeEntities(); this.addStatusEffect(new StatusEffectInstance(StatusEffects.SPEED, POSITIVE_EFFECT_TICKS, 1)); - } else if (totemItemStack.getItem() == FriendsAndFoesItems.TOTEM_OF_ILLUSION.get()) { + } else if (totemItem == FriendsAndFoesItems.TOTEM_OF_ILLUSION.get()) { this.friendsandfoes_createIllusions(); } - TotemEffectPacket.sendToClient(((PlayerEntity) (Object) entity), totemItemStack); - totemItemStack.decrement(1); - cir.setReturnValue(true); } } From f349e6b7d1d3b4e1dff000cc38a0cb5ba44a1b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 12:16:36 +0100 Subject: [PATCH 6/7] supress warnings --- .../friendsandfoes/modcompat/forge/CuriosCompat.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java index 091747d4e..002cfb079 100644 --- a/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java +++ b/forge/src/main/java/com/faboslav/friendsandfoes/modcompat/forge/CuriosCompat.java @@ -12,17 +12,16 @@ import org.jetbrains.annotations.Nullable; import top.theillusivec4.curios.api.CuriosApi; import top.theillusivec4.curios.api.SlotResult; -import top.theillusivec4.curios.api.SlotTypeMessage; -import top.theillusivec4.curios.api.SlotTypePreset; import top.theillusivec4.curios.api.client.CuriosRendererRegistry; import java.util.EnumSet; import java.util.function.Predicate; +@SuppressWarnings({"all"}) public final class CuriosCompat implements ModCompat { public CuriosCompat() { - InterModComms.sendTo("curios", SlotTypeMessage.REGISTER_TYPE, () -> SlotTypePreset.CHARM.getMessageBuilder().build()); + InterModComms.sendTo("curios", top.theillusivec4.curios.api.SlotTypeMessage.REGISTER_TYPE, () -> top.theillusivec4.curios.api.SlotTypePreset.CHARM.getMessageBuilder().build()); ClientSetupEvent.EVENT.addListener(CuriosCompat::registerRenderers); } From b94525e0905c6b4b3d250d8e55eff86b4792095b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Fabi=C3=A1nek?= Date: Fri, 15 Mar 2024 14:07:35 +0100 Subject: [PATCH 7/7] compat with curios --- neoforge/build.gradle | 4 +-- .../data/curios/tags/items/charm.json | 27 +++++++++++++++++++ .../curios/entities/totems.json | 8 ++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 neoforge/src/main/resources/data/curios/tags/items/charm.json create mode 100644 neoforge/src/main/resources/data/friendsandfoes/curios/entities/totems.json diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 619114f44..f88fdd77e 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -35,8 +35,8 @@ dependencies { implementation(include("io.github.llamalad7:mixinextras-neoforge:${rootProject.mixin_extras_version}")) // Curios (https://www.curseforge.com/minecraft/mc-mods/curios) - modImplementation("top.theillusivec4.curios:curios-forge:${project.curios_version}+${rootProject.minecraft_version}:api") - //modRuntimeOnly("top.theillusivec4.curios:curios-forge:${project.curios_version}+${rootProject.minecraft_version}"); + modImplementation("top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${rootProject.minecraft_version}:api") + modRuntimeOnly("top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${rootProject.minecraft_version}"); // Cloth config (https://www.curseforge.com/minecraft/mc-mods/cloth-config) modImplementation("me.shedaniel.cloth:cloth-config-neoforge:${rootProject.cloth_config_version}") diff --git a/neoforge/src/main/resources/data/curios/tags/items/charm.json b/neoforge/src/main/resources/data/curios/tags/items/charm.json new file mode 100644 index 000000000..79c6affe2 --- /dev/null +++ b/neoforge/src/main/resources/data/curios/tags/items/charm.json @@ -0,0 +1,27 @@ +{ + "replace": false, + "values": [ + "#friendsandfoes:totems", + "minecraft:totem_of_undying", + { + "id": "biomemakeover:enchanted_totem", + "required": false + }, + { + "id": "voidtotem:totem_of_void_undying", + "required": false + }, + { + "id": "#voidtotem:additional_totems", + "required": false + }, + { + "id": "fwaystones:void_totem", + "required": false + }, + { + "id": "netheriteextras:totem_of_neverdying", + "required": false + } + ] +} \ No newline at end of file diff --git a/neoforge/src/main/resources/data/friendsandfoes/curios/entities/totems.json b/neoforge/src/main/resources/data/friendsandfoes/curios/entities/totems.json new file mode 100644 index 000000000..9bc682614 --- /dev/null +++ b/neoforge/src/main/resources/data/friendsandfoes/curios/entities/totems.json @@ -0,0 +1,8 @@ +{ + "entities": [ + "player" + ], + "slots": [ + "charm" + ] +} \ No newline at end of file