Working with MinecraftEdu

Discuss Millénaire in English
Post Reply
Maize
Posts: 5
Joined: Sun Feb 01, 2015 9:24 pm

Working with MinecraftEdu

Post by Maize » Sun Feb 01, 2015 10:30 pm

Hello everyone! I would like to start out by saying how much I love Millénaire! I started playing it back in the yogbox days and I have always thought this mod had enormous educational potential. For the past couple of years I have been working with MinecraftEdu developed by TeacherGaming for use in school. It's technically a Forge mod but it's generally thought of as a "special" version of Minecraft. Please check out their website for more info: minecraftedu.com

I have been looking forward to sharing this mod with the Minecraft Teachers community (https://groups.google.com/forum/#!forum ... categories) for quite some time but there has always been some bug/issue that has made it too difficult to use in a multiplayer environment. There are also some game-play considerations, for example, I am still wondering what would happen if 30 students ordered houses built in a town, would it take up all the available space so other buildings cannot be built? I'm sure there is a work around for that...maybe one student could be designated as the "merchant" and do all the trading for the group, then they could order a big house that all the students can live in like a dormitory! :D

I thought Millénaire version 6.0 would finally be the one that works with MinecraftEdu, and for the most part it does! However there are still some problems I can't resolve. I'm really hoping to find some help here so teachers can start using Millénaire in the classroom. I know the students would learn a lot, and have a fun at the same time!

The current version of MinecraftEdu uses Minecraft 1.7.10 with Forge v10.13.0.1208
Here are the problems I'm having:

1. Diplomacy Points - There are none! The points always stay at zero no matter how many days have passed. There are no "Praise" or "Slander" buttons available either.

https://plus.google.com/u/0/photos/1040 ... 4136118957

2. Reputation - Resets every time the server is restarted. Though I had "Friend of the Village" status, after restart I was back to being a "Stranger". However the village does complete a requested building even after the reputation is reset. I thought I would be clever and change the values in the config.txt in the world folder, but the values are already correct, they just don't seem to be loading with the world. If I continue to trade with a village the number in this file increases accordingly and stays the same when the server is restarted, but the village no longer seems to recognize these values. >_<

Here is the reputation screen before restart:

https://plus.google.com/u/0/photos/1040 ... 4136118957

Here is the info from the config.txt file in the world folder:

culture_reputation=norman,36
culture_reputation=japanese,1511
culture_language=norman,27
culture_language=japanese,5815
village_reputations=-311/76/136,384
village_reputations=-193/75/91,5621
village_reputations=-112/71/221,3336
village_reputations=-253/72/231,5216
village_reputations=-263/67/374,1581
village_diplomacy=-193/75/91,5
village_diplomacy=-112/71/221,5
village_diplomacy=-253/72/231,5
village_diplomacy=-263/67/374,5

But this is the screen after restart:

https://plus.google.com/u/0/photos/1040 ... 4136118957

Here is the available housing after restart - the village still completes the requested builds even with the reputation reset:

https://plus.google.com/u/0/photos/1040 ... 4136118957

3. Quests (maybe) - I can't seem to trigger a quest. I've been hanging around villages for awhile but no option has appeared. I know the Fishing Frenzy is a pretty common one, same with the Norman lunch delivery quest, maybe I am just missing the opportunity so I'm can't say for sure if this is a problem yet (but maybe since reputation, diplomacy and quests are inter-related, this all might add up to one big problem).

There are some clues in the millenaire-server.log file:

At startup this appears every time:

6.0.0 01-02-2015 12:12:41 Exception, printing stack:
6.0.0 01-02-2015 12:12:41 org.millenaire.common.MLN$MillenaireException: Null player while trying to send packet:
at org.millenaire.common.UserProfile.sendProfilePacket(UserProfile.java:806)
at org.millenaire.common.UserProfile.adjustReputation(UserProfile.java:165)
at org.millenaire.common.building.Building.adjustReputation(Building.java:978)
at org.millenaire.common.ContainerTrade.func_75144_a(ContainerTrade.java:333)
at net.minecraft.network.NetHandlerPlayServer.func_147351_a(NetHandlerPlayServer.java:1222)
at net.minecraft.network.play.client.C0EPacketClickWindow.func_148833_a(SourceFile:32)
at net.minecraft.network.play.client.C0EPacketClickWindow.func_148833_a(SourceFile:10)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:727)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:357)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:615)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:494)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:754)

Then continues to log this error repeatedly:

6.0.0 01-02-2015 12:12:42 Repeat exception x2: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x3: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x4: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x5: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x6: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x7: Null player while trying to send packet:
6.0.0 01-02-2015 12:12:42 Repeat exception x8: Null player while trying to send packet:
6.0.0 01-02-2015 12:13:11 Repeat exception x9: Null player while trying to send packet:

I'm guessing the issue may be with the different world directory structure in MinecraftEdu. It has a saved world folder that can have multiple world folders in it, when a teacher launches the server they can choose which world to load (Math, Social Studies, etc) once a world is loaded it runs from a tmpworld directory.
Here is a pic of the folder hierarchy:

https://plus.google.com/u/0/photos/1040 ... 4136118957

I'm including PasteBin links to the log files, I am running a couple of other mods along with Millenaire, but I have also tried without them and had the same problems so I doubt they have anything to do with it.

millenaire-server log:
http://pastebin.com/9mzG91nZ

FML Log:
http://pastebin.com/KFrPwqm1

I am thinking I should also start a discussion on the Minecraft Teachers forum to get some help with testing, but maybe Kinniken might want to start his own thread? The people at TeacherGaming are very dedicated and willing to work with mod developers. Some are supporting MinecraftEdu specifically, like Noppes the developer of CustomNPCs, Mike Primm developer of Dynmap and techbrew the developer of JourneyMap. There is even a special version of ComputerCraft made by dan200 to help teach programming with a visual interface. I'm hoping we can get Millenaire working properly with MinecraftEdu for the benefit of teachers and students everywhere!
Thank you,
Maize

Jhoosier
Posts: 6
Joined: Tue Jul 29, 2014 11:58 pm

Re: Working with MinecraftEdu

Post by Jhoosier » Sun Feb 08, 2015 8:39 am

I'm going to be teaching a course using MinecraftEDU, and I would love to see Millenaire being used.

Samsonyt
Posts: 43
Joined: Fri Nov 07, 2014 1:52 am

Re: Working with MinecraftEdu

Post by Samsonyt » Tue Feb 17, 2015 3:08 am

I am not sure why your reputation is resetting, I have never had this problem before. Did you set your reputation by altering the player profiles in the millenaire folder? If your reputation is resetting, then that is probably why you are not gaining any village reputation points. Keep in mind that if you are using a player controlled village, reputation points are not used because the leader sets all relations.

Maize
Posts: 5
Joined: Sun Feb 01, 2015 9:24 pm

Re: Working with MinecraftEdu

Post by Maize » Sat Feb 21, 2015 7:54 am

I'm pleased to say I've made some progress! I had decided to stop worrying about village reputation and move on to other things. Usually I do my testing in "teacher mode" (OP mode) but since I was testing the MinecraftEdu area protection I logged on as a student and found out that everything works! Wooohooo!

I'm still having the same problems when logged in as a teacher, reputation is always reset on server restart, quests never become available and the diplomacy buttons never show up when speaking to a village leader.

In teacher mode the log always registers this error:
6.0.0 19-02-2015 09:50:29 Exception, printing stack:
6.0.0 19-02-2015 09:50:29 org.millenaire.common.MLN$MillenaireException: Null player while trying to send packet:
at org.millenaire.common.UserProfile.sendProfilePacket(UserProfile.java:806)
at org.millenaire.common.UserProfile.adjustReputation(UserProfile.java:165)
at org.millenaire.common.building.Building.adjustReputation(Building.java:978)
at org.millenaire.common.ContainerTrade.func_75144_a(ContainerTrade.java:333)
at net.minecraft.network.NetHandlerPlayServer.func_147351_a(NetHandlerPlayServer.java:1222)
at net.minecraft.network.play.client.C0EPacketClickWindow.func_148833_a(SourceFile:32)
at net.minecraft.network.play.client.C0EPacketClickWindow.func_148833_a(SourceFile:10)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:727)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:357)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:615)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:494)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:754)

This error continuously spams the console and I thought that the mod might be having trouble with finding the player profile in the world folder (MinecraftEdu uses aliases and a different world folder name). I checked config.txt in the profile folder to see if the reputation value changed as I traded with a village. The numbers increase in everytime I trade, but after restarting the server my in-game reputation is back to default. Manually changing the numbers in the file does not seem to affect the reputation in-game. >_<

However when I log in as a student, the error does not show up in the console and everything works like a charm! Diplomacy buttons appear with points awarded every night, praise or slander affects village relations, quests show up (I completed "thirsty" and "sick child") and my reputation is saved between server restarts. Woohooo again!

I'm not sure why all this doesn't work when logged in as a teacher. All "teacher mode" does is OP you and give permission to use the admin tools, not much different than student (regular player) mode. I did notice that the player profile folders are named differently for students and teachers in the world directory:

https://plus.google.com/u/0/photos/1040 ... 4136118957

The folder with the section symbol was created when I was logged in as a teacher, the folder with the regular name is from when I was playing in student mode. Maybe the section symbol could be causing the problem? Maybe MinecraftEdu can't handle the special character? I'm not sure about that, but I'm so glad it will work for the students! :D

I am hoping others could also do some testing to see if they get the same results. Jhoosier, if you have MinecraftEdu maybe you could install Millenaire and try it out?

Here are some other things I found while testing:
  • The mod does not work unless you put the millenaire folder in the root directory of the mods folder. The MinecraftEdu Launcher will give a warning message that mods are in the wrong place but it doesn't cause any errors.

    Placing a layer of MinecraftEdu build disallow blocks under the village protects the area, students cannot place or break blocks but villagers can build without a problem. Build allow blocks can be placed in designated build areas, like player requested plots.

    The villagers will only build player buildings once, so if a student requests a small house no other student can request it again. Once the house is built any student can access it, use the chests, etc.

    Player-controlled villages become available in student mode when reputation is high enough. I think there is a "devmode" that allows for the creation of controlled villages without having to be named leader of a culture. I am not sure how to get this to work, adding "devmode=true" to the config file doesn't seem to do anything. Right now I just spawn a village and trade with them once, stop the server and change the reputation value in the profile folder, then launch the server again and get the village leader to name me as leader, then I can create controlled village by using the summoning wand on a gold block. This is a great feature to have, building a town is already a popular lesson, but having the villagers actually move in and use the buildings...wow!
I hope this thread is helpful to anyone trying to get Millenaire to work with MinecraftEdu. It does require some things to be done differently, but no big deal, Millenaire is awesome!

Maize
Posts: 5
Joined: Sun Feb 01, 2015 9:24 pm

Re: Working with MinecraftEdu

Post by Maize » Sat Feb 21, 2015 9:37 pm

I found a quick way to spawn a controlled village without having to find a pre-existing village first and muck around with reputation points:

1. Generate a new world
2. Log on to the world, get a gold block and a wand of summoning, then disconnect - if you try to use the wand on the block at this point you will get a list of regular villages, controlled villages will not be available yet
3. Go back to server window, save the world and stop the server
4. Goto: minecraftedu/servertool/worlds/savedworlds/YOUR_WORLD_FOLDER/millenaire/profiles folder
5. Create a new folder with your player name (manually creating a profile - usually a profile folder is auto-generated when a player interacts with a villager, trading, quests, etc. Since we haven't done anything like that yet the folder will be empty, so we are manually creating a new profile)
6. In this folder create a new text file named tags.txt
7. Add these lines to the text file:

Code: Select all

culturecontrol_hindi
culturecontrol_mayan
culturecontrol_norman
culturecontrol_japanese
culturecontrol_byzantines
8. Save and close the text file
9. Launch server and log on with the same name as the profile folder you created.
10. Place the gold block where you want the village and right click it with the wand of summoning. The list will now say that you are the leader of all the cultures and controlled villages will be available.

Here is a screen shot of the proper location for the tags.txt file:

https://plus.google.com/u/0/photos/1040 ... 4136118957

There may be a better method to spawn controlled villages, but this works for me! Now I'm very pleased! :D

Post Reply