lafolie / final-minecraft Goto Github PK
View Code? Open in Web Editor NEWFinal Fantasy inspired content for Minecraft.
License: GNU Lesser General Public License v3.0
Final Fantasy inspired content for Minecraft.
License: GNU Lesser General Public License v3.0
Figure out how ToolTip Sections work and tidy up the tooltips, particularly the Affinities listing on the main inventory.
Currently mobs do not actually utilise the elements system for offense. Maybe introduce a new tag that sets their default attack type?
Elemental Crystals need a proper way to be crafted.
The entire config code needs to be redone as it is currently very wasteful (lang file is huge).
They don't exist yet.
Tidy up all the unused classes, imports, and make sure the API is neat-and-tidy for the alpha so I can start working on FMC Crystals
CBA to do this until all the mods I use are ported :P
Probably should make a small mod to try this out.
Currently equipping armour provides no elemental benefits. Additionally, ensure that players elemental components are sync'd correctly.
Crash report:
---- Minecraft Crash Report ----
// My bad.
Time: 14/06/2022, 20:27
Description: Ticking entity
java.util.NoSuchElementException: 1 air provides no component of type final-minecraft:elemental_stats_item
at dev.onyxstudios.cca.api.v3.component.ComponentKey.get(ComponentKey.java:89)
at net.minecraft.item.ItemStack.getComponent(ItemStack.java:2161)
at lafolie.fmc.core.elements.ElementalObject.getElementalAffinity(ElementalObject.java:237)
at lafolie.fmc.core.elements.ElementalObject.getElementalAffinities(ElementalObject.java:265)
at net.minecraft.entity.LivingEntity.adjustDamageElemental(LivingEntity.java:5148)
at net.minecraft.entity.LivingEntity.localvar$zij000$modifyDamage(LivingEntity.java:5123)
at net.minecraft.entity.LivingEntity.damage(LivingEntity.java)
at net.minecraft.entity.mob.MobEntity.tryAttack(MobEntity.java:1419)
at net.minecraft.entity.mob.ZombieEntity.tryAttack(ZombieEntity.java:345)
at net.minecraft.entity.ai.goal.MeleeAttackGoal.attack(MeleeAttackGoal.java:152)
at net.minecraft.entity.ai.goal.MeleeAttackGoal.tick(MeleeAttackGoal.java:144)
at net.minecraft.entity.ai.goal.ZombieAttackGoal.tick(ZombieAttackGoal.java:28)
at net.minecraft.entity.ai.goal.PrioritizedGoal.tick(PrioritizedGoal.java:65)
at net.minecraft.entity.ai.goal.GoalSelector.tickGoals(GoalSelector.java:119)
at net.minecraft.entity.mob.MobEntity.tickNewAi(MobEntity.java:750)
at net.minecraft.entity.LivingEntity.tickMovement(LivingEntity.java:2609)
at net.minecraft.entity.mob.MobEntity.tickMovement(MobEntity.java:546)
at net.minecraft.entity.mob.HostileEntity.tickMovement(HostileEntity.java:43)
at net.minecraft.entity.mob.ZombieEntity.tickMovement(ZombieEntity.java:260)
at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2354)
at net.minecraft.entity.mob.MobEntity.tick(MobEntity.java:346)
at net.minecraft.entity.mob.ZombieEntity.tick(ZombieEntity.java:233)
at net.minecraft.entity.mob.ZombieVillagerEntity.tick(ZombieVillagerEntity.java:152)
at net.minecraft.server.world.ServerWorld.tickEntity(ServerWorld.java:702)
at net.minecraft.world.World.tickEntity(World.java:485)
at net.minecraft.server.world.ServerWorld.method_31420(ServerWorld.java:363)
at net.minecraft.world.EntityList.forEach(EntityList.java:54)
at net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:331)
at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:907)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:851)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:97)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:697)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:273)
at java.base/java.lang.Thread.run(Thread.java:833)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Server thread
Stacktrace:
at dev.onyxstudios.cca.api.v3.component.ComponentKey.get(ComponentKey.java:89)
at net.minecraft.item.ItemStack.getComponent(ItemStack.java:2161)
at lafolie.fmc.core.elements.ElementalObject.getElementalAffinity(ElementalObject.java:237)
at lafolie.fmc.core.elements.ElementalObject.getElementalAffinities(ElementalObject.java:265)
at net.minecraft.entity.LivingEntity.adjustDamageElemental(LivingEntity.java:5148)
at net.minecraft.entity.LivingEntity.localvar$zij000$modifyDamage(LivingEntity.java:5123)
at net.minecraft.entity.LivingEntity.damage(LivingEntity.java)
at net.minecraft.entity.mob.MobEntity.tryAttack(MobEntity.java:1419)
at net.minecraft.entity.mob.ZombieEntity.tryAttack(ZombieEntity.java:345)
at net.minecraft.entity.ai.goal.MeleeAttackGoal.attack(MeleeAttackGoal.java:152)
at net.minecraft.entity.ai.goal.MeleeAttackGoal.tick(MeleeAttackGoal.java:144)
at net.minecraft.entity.ai.goal.ZombieAttackGoal.tick(ZombieAttackGoal.java:28)
at net.minecraft.entity.ai.goal.PrioritizedGoal.tick(PrioritizedGoal.java:65)
at net.minecraft.entity.ai.goal.GoalSelector.tickGoals(GoalSelector.java:119)
at net.minecraft.entity.mob.MobEntity.tickNewAi(MobEntity.java:750)
at net.minecraft.entity.LivingEntity.tickMovement(LivingEntity.java:2609)
at net.minecraft.entity.mob.MobEntity.tickMovement(MobEntity.java:546)
at net.minecraft.entity.mob.HostileEntity.tickMovement(HostileEntity.java:43)
at net.minecraft.entity.mob.ZombieEntity.tickMovement(ZombieEntity.java:260)
at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2354)
at net.minecraft.entity.mob.MobEntity.tick(MobEntity.java:346)
at net.minecraft.entity.mob.ZombieEntity.tick(ZombieEntity.java:233)
at net.minecraft.entity.mob.ZombieVillagerEntity.tick(ZombieVillagerEntity.java:152)
at net.minecraft.server.world.ServerWorld.tickEntity(ServerWorld.java:702)
at net.minecraft.world.World.tickEntity(World.java:485)
at net.minecraft.server.world.ServerWorld.method_31420(ServerWorld.java:363)
at net.minecraft.world.EntityList.forEach(EntityList.java:54)
at net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:331)
-- Entity being ticked --
Details:
Entity Type: minecraft:zombie_villager (net.minecraft.entity.mob.ZombieVillagerEntity)
Entity ID: 246
Entity Name: Zombie Villager
Entity's Exact location: 225.70, -59.00, 37.51
Entity's Block location: World: (225,-59,37), Section: (at 1,5,5 in 14,-4,2; chunk contains blocks 224,-64,32 to 239,319,47), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
Entity's Momentum: 0.00, -0.08, 0.00
Entity's Passengers: []
Entity's Vehicle: null
Stacktrace:
at net.minecraft.world.World.tickEntity(World.java:485)
at net.minecraft.server.world.ServerWorld.method_31420(ServerWorld.java:363)
at net.minecraft.world.EntityList.forEach(EntityList.java:54)
at net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:331)
at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:907)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:851)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:97)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:697)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:273)
at java.base/java.lang.Thread.run(Thread.java:833)
-- Affected level --
Details:
All players: 1 total; [ServerPlayerEntity['Player764'/95, l='ServerLevel[New World]', x=126.36, y=-60.00, z=-26.56]]
Chunk stats: 2997
Level dimension: minecraft:overworld
Level spawn location: World: (0,-60,0), Section: (at 0,4,0 in 0,-4,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
Level time: 97855 game time, 18725 day time
Level name: New World
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Level weather: Rain time: 39921 (now: false), thunder time: 63302 (now: false)
Known server brands: fabric
Level was modded: true
Level storage version: 0x04ABD - Anvil
Stacktrace:
at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:907)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:851)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:97)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:697)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:273)
at java.base/java.lang.Thread.run(Thread.java:833)
-- System Details --
Details:
Minecraft Version: 1.18.2
Minecraft Version ID: 1.18.2
Operating System: Linux (amd64) version 5.18.0-arch1-1
Java Version: 18.0.1.1, N/A
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 955353856 bytes (911 MiB) / 3334471680 bytes (3180 MiB) up to 4169138176 bytes (3976 MiB)
CPUs: 8
Processor Vendor: AuthenticAMD
Processor Name: AMD FX(tm)-8320 Eight-Core Processor
Identifier: AuthenticAMD Family 21 Model 2 Stepping 0
Microarchitecture: unknown
Frequency (GHz): -0.00
Number of physical packages: 1
Number of physical CPUs: 8
Number of logical CPUs: 8
Graphics card #0 name: GP106 [GeForce GTX 1060 6GB]
Graphics card #0 vendor: NVIDIA Corporation (0x10de)
Graphics card #0 VRAM (MB): 288.00
Graphics card #0 deviceId: 0x1c03
Graphics card #0 versionInfo: unknown
Virtual memory max (MB): 12045.69
Virtual memory used (MB): 13298.57
Swap memory total (MB): 4096.00
Swap memory used (MB): 366.52
JVM Flags: 0 total;
Fabric Mods:
cardinal-components: Cardinal Components API 4.1.4
cardinal-components-base: Cardinal Components API (base) 4.1.4
cardinal-components-block: Cardinal Components API (blocks) 4.1.4
cardinal-components-chunk: Cardinal Components API (chunks) 4.1.4
cardinal-components-entity: Cardinal Components API (entities) 4.1.4
cardinal-components-item: Cardinal Components API (items) 4.1.4
cardinal-components-level: Cardinal Components API (world saves) 4.1.4
cardinal-components-scoreboard: Cardinal Components API (scoreboard) 4.1.4
cardinal-components-world: Cardinal Components API (worlds) 4.1.4
cloth-basic-math: cloth-basic-math 0.6.1
cloth-config: Cloth Config v6 6.2.62
devlogin: DevLogin 2.1
fabric: Fabric API 0.51.1+1.18.2
fabric-api-base: Fabric API Base 0.4.4+d7c144a860
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.0+2373a54560
fabric-biome-api-v1: Fabric Biome API (v1) 8.0.4+7b0f312660
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.12+3ac43d9560
fabric-command-api-v1: Fabric Command API (v1) 1.1.9+d7c144a860
fabric-commands-v0: Fabric Commands (v0) 0.2.8+b4f4f6cd60
fabric-containers-v0: Fabric Containers (v0) 0.1.21+d7c144a860
fabric-content-registries-v0: Fabric Content Registries (v0) 3.0.3+d82b939260
fabric-convention-tags-v1: Fabric Convention Tags 1.0.1+474e4f7960
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.11+3ac43d9560
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 2.0.9+e19de87d60
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.17+2540745460
fabric-entity-events-v1: Fabric Entity Events (v1) 1.4.8+d7c144a860
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.19+d7c144a860
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.14+d7c144a860
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.13+d7c144a860
fabric-gametest-api-v1: Fabric Game Test API (v1) 1.0.16+91b7aa6660
fabric-item-api-v1: Fabric Item API (v1) 1.4.0+4457765560
fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.11+91896a4960
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.12+54e5b2ec60
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.10+b4f4f6cd60
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.0.3+2d83e92c60
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.11+d7c144a860
fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.0+81ea5b3c60
fabric-models-v0: Fabric Models (v0) 0.3.6+d7c144a860
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.21+d882b91560
fabric-networking-v0: Fabric Networking (v0) 0.3.8+b4f4f6cd60
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 2.1.0+fe4ddef060
fabric-particles-v1: Fabric Particles (v1) 0.2.12+526dc1ac60
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.8+0d9ab37260
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.13+d882b91560
fabric-renderer-indigo: Fabric Renderer - Indigo 0.5.0+7faf0d8860
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.11+b4f4f6cd60
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.7+d7c144a860
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 2.0.2+54e5b2ec60
fabric-rendering-v0: Fabric Rendering (v0) 1.1.13+b4f4f6cd60
fabric-rendering-v1: Fabric Rendering (v1) 1.10.7+54e5b2ec60
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.0.3+91b7aa6660
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.18+2de5574560
fabric-screen-api-v1: Fabric Screen API (v1) 1.0.10+d882b91560
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.2.0+1f6558e860
fabric-textures-v0: Fabric Textures (v0) 1.0.12+3ac43d9560
fabric-transfer-api-v1: Fabric Transfer API (v1) 1.6.0+2373a54560
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.0.0+bd8a4a1860
fabricloader: Fabric Loader 0.14.6
final-minecraft: Final Minecraft Core 0.1.0
java: OpenJDK 64-Bit Server VM 18
minecraft: Minecraft 1.18.2
modmenu: Mod Menu 3.2.2
Server Running: true
Player Count: 1 / 8; [ServerPlayerEntity['Player764'/95, l='ServerLevel[New World]', x=126.36, y=-60.00, z=-26.56]]
Data Packs: vanilla, Fabric Mods
World Generation: Stable
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
Entities currently support elemental NBT, but they don't use them yet.
Packets are currently sent but reception is not implemented. Do this tomorrow.
As a supplement to the Calendar feature, it would be nice to have a Gift Block that is given to players on both the in-game date that they joined, and their in-game birthday based on their UUID. Here is how I envision the Gift Block to work:
Gift Blocks should scale their content based on the age of the world to prevent the contents being too great and ruining game progress; we don't want a player with a birthday 2 days after the world was created to receive netherite.
Damage numbers should change colour depending on the following properties:
genTags needs to be redone so that it uses the new toolchain. It also needs to support different namespaces, not just the base minecraft objects.
This needs to be fixed ASAP.
ElementalObject needs a bit of a refactor:
In preparation for later content, the damage adjustment algorithm needs to be able to distinguish bewteen damage that is physical or magickal, and possibly other types.
java.lang.NullPointerException: Cannot invoke "lafolie.fmc.core.entity.DamageNumbers.spawnDamageNumbers(net.minecraft.client.MinecraftClient, float, lafolie.fmc.core.internal.network.HealthModifiedPacket$EventType)" because "dmgEntity" is null
at lafolie.fmc.core.FinalMinecraftClient.lambda$registerNetworkReceivers$1(FinalMinecraftClient.java:65) ~[main/:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:157) [[email protected]:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:23) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:131) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:116) [[email protected]:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1085) [[email protected]:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:737) [[email protected]:?]
at net.minecraft.client.main.Main.main(Main.java:236) [[email protected]:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:460) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
[00:06:23] [Render thread/ERROR] (Minecraft) Error executing task on Client
java.lang.NullPointerException: Cannot invoke "lafolie.fmc.core.entity.DamageNumbers.spawnDamageNumbers(net.minecraft.client.MinecraftClient, float, lafolie.fmc.core.internal.network.HealthModifiedPacket$EventType)" because "dmgEntity" is null
at lafolie.fmc.core.FinalMinecraftClient.lambda$registerNetworkReceivers$1(FinalMinecraftClient.java:65) ~[main/:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:157) [[email protected]:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:23) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:131) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:116) [[email protected]:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1085) [[email protected]:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:737) [[email protected]:?]
at net.minecraft.client.main.Main.main(Main.java:236) [[email protected]:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:460) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
[00:06:25] [Render thread/ERROR] (Minecraft) Error executing task on Client
java.lang.NullPointerException: Cannot invoke "lafolie.fmc.core.entity.DamageNumbers.spawnDamageNumbers(net.minecraft.client.MinecraftClient, float, lafolie.fmc.core.internal.network.HealthModifiedPacket$EventType)" because "dmgEntity" is null
at lafolie.fmc.core.FinalMinecraftClient.lambda$registerNetworkReceivers$1(FinalMinecraftClient.java:65) ~[main/:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:157) [[email protected]:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:23) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:131) [[email protected]:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:116) [[email protected]:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1085) [[email protected]:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:737) [[email protected]:?]
at net.minecraft.client.main.Main.main(Main.java:236) [[email protected]:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:460) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.6.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
```
Crystals need recipe advancements in order to show up in the crafting recipe window.
Crystals need to be aquirable from dropped enemies and can be used to apply elemental properties to equipment.
Implement a Home Crystal that serves a similar purpose to Beacons and will be used by other features (such as for changing Jobs without a cooldown).
The idea of a med set has been scrapped in favour of 1 mod that contains all the planned content. README.md needs updating to reflect this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.