
ianc1215
Members-
Posts
56 -
Joined
-
Last visited
Converted
-
Gender
Male
-
Location
Hudson, Ohio
-
Personal Text
Computer geek, here to serve!
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
ianc1215's Achievements

Stone Miner (3/8)
2
Reputation
-
I have been kicking around an idea for different way of backing up and restoring world data. In order for it to work I need to know more about how the dimension loading and unloading mechanism works. I have not kept up with Minecraft in a while and I am out of the game. On top of that most of the codebase has changed. So my idea is leverage filesystem mechanisms in *nix OSes. I want to create a copy of the world data every X minutes (e.g 20 minutes) only keep the latest X copies (as per the configured options). In the event something happens to the world instead of shutting down the server I could record the last known postions of all online players and then kick them to a lobby dimension (DIM999) and force unload DIM0 for example. Then restore the world data to that dimension without requiring a full server reboot. My rationale to this idea is the only thing that has changed is the world data, the mods and configurations have not, so why reboot the entire server? If no one is occupying a dimension and its unloaded from memory can the world data be modified without breaking anything? Part of me from my sysadmin background thinks its that easy but I am not a game dev so there might be things I had not considered. I imagine most of my coding will be backend connections to Linux processes. The other question is how would I deal with chunk loaders? Do chunk loaders identify themselves as such or are they a fake player? If I am sure are "real players" are off the world I could still force unload the world right? Can anyone provide insight to this?
-
So what would be the best way to implement an inventory to the cauldron? Would l use one of base classes like InventoryBasic? All I need to do is add / remove items and know what items have been added since they will affect the recipes.
-
I should have mentioned in my post. I would be creating a new cauldron that is based on the vanilla cauldron. But to clarify I would not be trying to use the vanilla one. My idea was something like the thaumcraft cauldron. Basically somehow take a vanilla cauldron and "transform" it into a mod specific cauldron. I am guessing that by doing so I open up my options greatly?
-
I have a concept for a mod I am working on. To put it in a nutshell the mod would use a cauldron which the player would throw the items into. However unlike mods like Thaumcraft where the items are converted into essentia I would leave the items as items once thrown in. I'm thinking I would need to store 10 or so items inside the cauldron (maybe more). I wouldn't need any GUI of any kind, just a way to store the items so the cauldron retains the contents while rebooting the server or other events. I took a look at the various container classes that are used for chests and such. I thought that sounded like the right idea but I thought rather than possibly running around in circles I should ask for advice. I was going use the "onEntityCollidedWithBlock" (I think it's spelled right) method as the way to get the item thrown in the cauldron but that is as far as the idea got. Any ideas?
-
Forge 1.7.10 will not recognize my mod's jar as a mod file
ianc1215 replied to Macintoshuser_2's topic in Modder Support
My first idea would be something happened when the jar was created. How did you create the jar? -
Hi there, I am trying to make a simple logger class that I can wrap around the base forge logger. The issue I am having is trying to get the logger to work so I can throw FML log levels and get my mod to show up as the mod throwing the error. Here is what I got so far... package com.solignis.slimeball.util; import com.solignis.obsidian.lib.Constants; import cpw.mods.fml.common.FMLLog; import org.apache.logging.log4j.Logger; /** * Created by Ian on 2/1/2015. */ public class SlimeLogger { public static Logger logger = FMLLog.getLogger(); public void info(String logMessage) { logger.info(logMessage); } public void warning(String logMessage) { logger.warn(logMessage); } public void severe(String logMessage) { logger.error(logMessage); } } This is what my log entries look like, [20:56:47] [server thread/INFO] [FML]: Today minecraft... Tomorrow the world! [20:56:47] [server thread/WARN] [FML]: Houston we've got a problem! [20:56:47] [server thread/ERROR] [FML]: What did you break? But as you can see in the code I am using the log4j logger. I want to use the FML logger directly but inside my wrapper. Can anyone assist?
-
The only reason I am looking into a way to use forge in my concept is so I can make it part of the server. But since I am wanting to send pings to a destination other than the minecraft server or the minecraft client the only way I can think to do so is to open a network socket on the localhost for communication. Most of the other code will sit on it own thread to try and not interfere with the game as much as possible. In essence the idea would be no more dangerous than the update checkers that come with numerous mods. The would just sends a pong when the outside app sends a ping.
-
Looking to build a small monitoring tool that would send heartbeats from the server to a small application for logging. My idea what to make a small mod that started up with the server and opened a connection the server on the loopback address of the server. Like I said just a simple monitoring application nothing more nothing less.
-
I was wondering if there are any access restrictions built into Forge / FML that would throw anything similar to a SecurityException. If I wanted to connect to an external resource on a remote port by opening a new socket would Forge stop me?
-
Fire an event after a specific number of server ticks?
ianc1215 replied to ianc1215's topic in Modder Support
After thinking on my idea a little more I realized it would be a very bad idea to fire as a tick on the server. The idea is to make a "mod" (if you can call it that really) that writes to a text file every (user configurable) half hour. Its a proof concept I have for a small server watcher tool. So this topic was not the right direction for me to go. Still helpful though thanks. -
Fire an event after a specific number of server ticks?
ianc1215 replied to ianc1215's topic in Modder Support
I have not used ticks before. I thought this might be an easy way to implement something simple. Don't I need to subscribe to a Forge Event Handler or something? -
I am looking for a way to fire an event after a specific amount of server ticks have occured. The event is simple, write to a text file. Its part of a much larger idea I have. 1. What is the best way to so? 2. Is forge sandboxed in such a way that would prevent me from writing to a raw text file while the game is running? Not a config I am talking about an actual text file on the system.
-
Preventing an item from being placed in a container?
ianc1215 replied to ianc1215's topic in Modder Support
hmmm I think this gives me an idea at least. I still gotta get some base mod code going so I can flesh out the idea. But this should help me a little bit. Thanks! -
Preventing an item from being placed in a container?
ianc1215 replied to ianc1215's topic in Modder Support
Ok now just clarify when you mean a block placing event... you are referring to the player placing the block on the ground? Or the world generator placing the block in the world? -
I had an idea for a food mod where I want to restrict what containers can hold food. For example I want to restrict normal chests from storing food related items for examples let say bread. Instead bread could only be stored in a food storage box. How could I change make this possible? I would image I would need to use some access transformers or reflection to modify base classes so wooden chests and such would be modified. But how would you actually filter items? Check the ItemStack when placed inside or something and see if it is allowed to be there? Am I close?