Giter VIP home page Giter VIP logo

minefortress's People

Contributors

chiloven945 avatar lemeuble avatar mrmasrozytlive avatar remmintan avatar schweizpretzel avatar triis0007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

minefortress's Issues

Prepare the mod for translation

Describe the feature you'd like to see
There are a lot of hardcoded values in the mod source code that are used to display messages in the interface.
Because the values are hardcoded we can't translate the mod properly.

The hardcoded value example Text.literal:
hardcoded value

we need to convert such values to translatable text pieces like this one Text.translatable:
image
image

This is done in three steps:

  1. Find any Text.literal
  2. Take text from it to a new key in the resources file resources/assets/minefortress/lang/en_us.json
  3. Replace Text.literal with Text.translatable with that key

Please feel free to refer to these issues in any PR where you make such changes. When all texts are moved to translation files we will close this issue.

Server crash after issuing a task and then leaving the server

Describe the bug
Gave a pawn a task to clear the area and build some houses, and then left the server for 15-20 minutes, after which the server crashed

To Reproduce
Steps or conditions to reproduce the behavior:

  1. Give the pawn any task (in my case - clean terrain and build some houses)
  2. Left the server for some time (15-20 mins)
  3. Server crash

Crash report

java.lang.NullPointerException: Cannot invoke "net.minecraft.class_3222.method_51469()" because "player" is null
        at org.minefortress.tasks.ServerTaskManager.tick(ServerTaskManager.java:70) ~[minefortress-1.11.1-beta.jar:?]
        at org.minefortress.fortress.ServerFortressManager.tick(ServerFortressManager.java:167) ~[minefortress-1.11.1-beta.jar:?]
        at org.minefortress.fortress.server.FortressModServerManager.tick(FortressModServerManager.java:68) ~[minefortress-1.11.1-beta.jar:?]
        at org.minefortress.registries.FortressServerEvents.lambda$register$7(FortressServerEvents.java:94) ~[minefortress-1.11.1-beta.jar:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$2(ServerTickEvents.java:43) ~[fabric-lifecycle-events-v1-2.2.2+c8b10480a0-cce012c5defdfdc0.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zef000$fabric-lifecycle-events-v1$onEndTick(MinecraftServer.java:2371) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:843) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:667) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:263) ~[server-intermediary.jar:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

Environment info:

  • OS: Ubuntu 22
  • Minecraft version: 1.20.2
  • Mod Version 1.11.1-beta

Any other mods that you use
Only server-side mods (terrain generation)

Cannot edit blueprints with dynmap installed

Describe the bug
Not sure which mod is the exact problem, but when trying to use dynmap and minefortress at the same time, an error occurs when trying to edit or create blueprints

To Reproduce
Steps or conditions to reproduce the behavior:

  1. Install dynmap and minefortrss
  2. Try to edit or create blueprint
  3. See error

Error

java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.dynmap.fabric_1_20_2.FabricWorld.getName()" because "fw" is null
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
        at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        at net.minecraft.class_3900.method_17634(class_3900.java:62) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
        at net.minecraft.class_3215$class_4212.method_18859(class_3215.java:564) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
        at net.minecraft.class_3215$class_4212.method_16075(class_3215.java:573) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[server-intermediary.jar:?]
        at net.minecraft.class_3215.getChunkBlocking(class_3215.java:2292) ~[server-intermediary.jar:?]
        at net.minecraft.class_3215.method_12121(class_3215.java:2188) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_8402(class_1937.java:204) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_22350(class_1937.java:5049) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_8500(class_1937.java:5044) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_30092(class_1937.java:226) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_8652(class_1937.java:213) ~[server-intermediary.jar:?]
        at net.minecraft.class_1937.method_8501(class_1937.java:322) ~[server-intermediary.jar:?]
        at org.minefortress.blueprints.world.BlueprintsWorld.lambda$putBlueprintInAWorld$1(BlueprintsWorld.java:198) ~[minefortress-1.11.1-beta.jar:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.minefortress.blueprints.world.BlueprintsWorld.putBlueprintInAWorld(BlueprintsWorld.java:180) ~[minefortress-1.11.1-beta.jar:?]
        at net.remmintan.mods.minefortress.networking.c2s.ServerboundEditBlueprintPacket.handle(ServerboundEditBlueprintPacket.java:70) ~[minefortress-1.11.1-beta.jar:?]
        at net.remmintan.mods.minefortress.networking.registries.ServerNetworkReceivers.lambda$registerReceiver$0(ServerNetworkReceivers.java:51) ~[minefortress-1.11.1-beta.jar:?]
        at net.minecraft.class_3738.run(class_3738.java:18) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
        at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:778) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:163) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:760) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:754) ~[server-intermediary.jar:?]
        at net.minecraft.class_1255.method_5383(class_1255.java:115) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:738) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:263) ~[server-intermediary.jar:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "org.dynmap.fabric_1_20_2.FabricWorld.getName()" because "fw" is null
        at org.dynmap.fabric_1_20_2.DynmapPlugin$WorldTracker.handleChunkGenerate(DynmapPlugin.java:644) ~[Dynmap-3.7-beta-4-fabric-1.20.2.jar:?]
        at org.dynmap.fabric_1_20_2.DynmapPlugin.lambda$registerEvents$6(DynmapPlugin.java:686) ~[Dynmap-3.7-beta-4-fabric-1.20.2.jar:?]
        at org.dynmap.fabric_1_20_2.event.CustomServerChunkEvents.lambda$static$0(CustomServerChunkEvents.java:12) ~[Dynmap-3.7-beta-4-fabric-1.20.2.jar:?]
        at net.minecraft.class_3898.handler$zbn000$dynmap$onChunkGenerate(class_3898.java:1365) ~[server-intermediary.jar:?]
        at net.minecraft.class_3898.method_17227(class_3898.java:744) ~[server-intermediary.jar:?]
        at com.mojang.datafixers.util.Either.lambda$mapLeft$0(Either.java:162) ~[datafixerupper-6.0.8.jar:?]
        at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
        at com.mojang.datafixers.util.Either.mapLeft(Either.java:162) ~[datafixerupper-6.0.8.jar:?]
        at net.minecraft.class_3898.method_20460(class_3898.java:726) ~[server-intermediary.jar:?]
        at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ~[?:?]
        ... 33 more

Environment info:

  • OS: Ubuntu 22
  • Minecraft version: 1.20.2
  • Mod Version 1.11.1-beta

Any other mods that you use
Dynmap & server-side terrain generation mods

FileNotFound Exception when clicking on pawn

Describe the bug
Error (warning) while loading texture

To Reproduce
Steps or conditions to reproduce the behavior:
Just click on the pawn

Screenshots

[19:02:00] [Render thread/WARN]: Failed to load texture: minecraft:hud/hotbar
java.io.FileNotFoundException: minecraft:hud/hotbar
	at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
	at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
	at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
	at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
	at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
	at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
	at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
	at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
	at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1232) ~[client-intermediary.jar:?]
	at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1225) ~[client-intermediary.jar:?]
	at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
	at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
	at net.minecraft.class_332.method_25291(class_332.java:405) ~[client-intermediary.jar:?]
	at org.minefortress.renderer.gui.hud.SelectedColonistHudLayer.renderIcon(SelectedColonistHudLayer.java:68) ~[minefortress-1.11.1-beta.jar:?]
	at org.minefortress.renderer.gui.hud.SelectedColonistHudLayer.renderHud(SelectedColonistHudLayer.java:40) ~[minefortress-1.11.1-beta.jar:?]
	at org.minefortress.renderer.gui.hud.AbstractHudLayer.render(AbstractHudLayer.java:64) ~[minefortress-1.11.1-beta.jar:?]
	at org.minefortress.renderer.gui.hud.FortressHud.render(FortressHud.java:68) ~[minefortress-1.11.1-beta.jar:?]
	at net.minecraft.class_329.handler$zoi001$minefortress$render(class_329.java:2474) ~[client-intermediary.jar:?]
	at net.minecraft.class_329.method_1753(class_329.java:399) ~[client-intermediary.jar:?]
	at net.minecraft.class_757.method_3192(class_757.java:927) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1275) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:856) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:253) ~[minecraft-1.20.2-client.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.6.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.6.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.6.jar:?]
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]

Environment info:

  • OS: Windows 10 Pro (22H2 19045)
  • Minecraft version: 1.20.2
  • Mod Version 1.11.1-beta

Any other mods that you use
modmenu-8.0.1
sodium-fabric-mc1.20.2-0.5.5
fabric-api-0.91.5+1.20.2

Standalone beds are ignored by pawns and the village

Describe the bug
When the bed is placed and it is not a part of the blueprint then this bed won't affect the overall max pawns amount and won't be used by pawns during the night.

To Reproduce

  1. Create a new world
  2. Don't build any blueprints with beds
  3. Build some beds separately from the blueprints
  4. See that they won't affect the total pawns count and pawns won't use beds to sleep

Environment info:

  • OS: any
  • Minecraft version: 1.20.2
  • Mod Version 1.10.0-beta

Introduce test framework for the mod. Suggestions wanted

There are no test frameworks in the mod, and every change introduces many regressions.

I am looking for suggestions on how to restructure the mod and which types of tests to introduce to cover the mod codebase with test cases and reduce the number of regressions.

This is an open discussion. I would greatly appreciate any help.

Project dependencies are published in GitHub packages.

Describe the bug
We just found out that some of the project dependencies are published in GitHub packages. The GitHub packages require you to authorize before downloading the packages. You will receive 403 from Github or 400 from JitPack until you authorize your Gradle against GitHub.

To Reproduce

  1. Download the repo
  2. Open it in IntelliJ IDEA
  3. Gradle project won't import properly

Workaround
We have a quick workaround that could help you start working with the mod right now.

  1. Follow this link and click on "Generate new token"
image
  1. When creating a token check one permission for this token read:packages
image
  1. After the token is created go and save it somewhere.
  2. Now open the build.gradle file in the root directory of the project.
  3. Change
maven {
	url = "https://maven.pkg.github.com/minefortress-mod/minefortress-cc-api"
}
maven {
    url = "https://maven.pkg.github.com/minefortress-mod/automatone"
}

to

maven {
    url = "https://maven.pkg.github.com/minefortress-mod/minefortress-cc-api"
    credentials {
	    username = YOUR GITHUB USERNAME
	    password = YOUR TOKEN
    }
}
maven {
    url = "https://maven.pkg.github.com/minefortress-mod/automatone"
    credentials {
	    username = YOUR GITHUB USERNAME
	    password = YOUR TOKEN
    }
}
  1. Reload your Gradle project and it will work fine now

Full fix
I will need to republish the MineFortress dependencies in some truly public maven repos. It will take some time, I will close this issue once I am done with that.

The Roadmap

Heading to the non-beta release

Since the mod was developing in different directions over time we accumulated some game design approaches that made the gameplay cumbersome and complicated. I've spent some time looking through some suggestions and bugs that you have reported for the mod and tried to summarize some of them and provide some aligned gameplay design. With the same GUI for all blueprints, a way to split pawns between different tasks, self-defending villagers, and much more. Take a look at a mindmap that I have prepared. I will expand it over time with additional features. Now will try to stick to these features and finally head towards the first nonbeta release!

I hope that with these changes, the gameplay will be more streamlined and less complicated. Also tried to fulfill the most popular suggestions in the design. Let's make this mindmap a roadmap for future releases.

Screenshot 2024-02-15 at 17 13 40

The pawns selection doesn't work properly

Describe the bug
The pawns selection doesn't work properly and doesn't select the correct pawns when the camera is moved around during selection.

To Reproduce

  1. Switch to combat mode
  2. Start selecting pawns
  3. Move the camera around
  4. See what happens

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.