Jump to content

Roxane

Members
  • Posts

    17
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • URL
    http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1287430-roxas-mods-tall-doors-experience-storage-gems
  • Location
    Germany
  • Personal Text
    I try to keep my mods as vanilla as possible ;)

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Roxane's Achievements

Tree Puncher

Tree Puncher (2/8)

1

Reputation

  1. Thank you very much! With your Information I could get it to work ? For anybody interested, this is my code now. Mod class: import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraft.nbt.CompoundNBT; import net.minecraft.world.server.ServerWorld; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; // The value here should match an entry in the META-INF/mods.toml file @Mod(ModQuestion.MODID) public class ModQuestion { public static final String MODID = "questionmod"; private static final Logger LOGGER = LogManager.getLogger(); public ModQuestion() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetupEvent); MinecraftForge.EVENT_BUS.addListener(this::onWorldLoaded); MinecraftForge.EVENT_BUS.addListener(this::onWorldSaved); } private void onClientSetupEvent(final FMLClientSetupEvent event) { //LOGGER.debug("Hello from the Client Setup!"); } public void onWorldLoaded(WorldEvent.Load event) { if (!event.getWorld().isRemote() && event.getWorld() instanceof ServerWorld) { MySavedData saver = MySavedData.forWorld((ServerWorld) event.getWorld()); if(saver.data.contains("MyData")) { LOGGER.debug("Found my data: " + saver.data.get("MyData")); //Do whatever you want to do with the data } } } public void onWorldSaved(WorldEvent.Save event) { if (!event.getWorld().isRemote() && event.getWorld() instanceof ServerWorld) { MySavedData saver = MySavedData.forWorld((ServerWorld) event.getWorld()); CompoundNBT myData = new CompoundNBT(); myData.putInt("MyData", 0); //Put in whatever you want with myData.put saver.data = myData; saver.markDirty(); LOGGER.debug("Put my data in!"); } } } WorldSaverData class: import java.util.function.Supplier; import net.minecraft.nbt.CompoundNBT; import net.minecraft.world.server.ServerWorld; import net.minecraft.world.storage.DimensionSavedDataManager; import net.minecraft.world.storage.WorldSavedData; public class MySavedData extends WorldSavedData implements Supplier { public CompoundNBT data = new CompoundNBT(); public MySavedData() { super(ModQuestion.MODID); } public MySavedData(String name) { super(name); } @Override public void read(CompoundNBT nbt) { data = nbt.getCompound("MyCompound"); } @Override public CompoundNBT write(CompoundNBT nbt) { nbt.put("MyCompound", data); return nbt; } public static MySavedData forWorld(ServerWorld world) { DimensionSavedDataManager storage = world.getSavedData(); Supplier<MySavedData> sup = new MySavedData(); MySavedData saver = (MySavedData) storage.getOrCreate(sup, ModQuestion.MODID); if (saver == null) { saver = new MySavedData(); storage.set(saver); } return saver; } @Override public Object get() { return this; } }
  2. Thanks! Calling "MinecraftForge.EVENT_BUS.addListener(this::onWorldLoaded);" did the trick ? Hmm... I can't find the World::getMapData. And ServerWorld::getSavedData()::getOrCreate want's a Supplier <T> as parameter. Where do I get that from? Thanks for that tip, I'll look into that direction.
  3. Hi there, For my mod I want an inventory like an Ender Chest that is shared between all players. Whereever anyone is accessing this inventory it is the same. In previous versions I did this by saving a "per world inventory" NBT to the world save file. Aditionally I want to save all positions of these "chests", so I always know where they are. With saving the data I have some Issues: 1) My onWorldLoaded and onWorldSaved events do not get called, even though I registered them in my mod's constructor. (The onClientSetupEvent gets called, so I assume the basic setup is ok). 2) How do I store my NBT data to the world save file? In previous versions I used a class extending WorldSavedData. I looked at https://mcforge.readthedocs.io/en/latest/datastorage/worldsaveddata/. But I can't figure out why MapStorage storage = world.getMapStorage(); does not work. It seems neither MapStorage nor getMapStorage() exist... 3) May be related to Problem 1): The WorldEvent.Load::getWorld only returns an IWorld. My old MySavedData::forWorld required a World. Is that a problem at all? If yes, where do I get my World from? This is my main mod class (For demonstration purposes I stripped all unnecessary stuff like Blocks and Items, they are working fine): package de.tetopia.question; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraft.nbt.CompoundNBT; import net.minecraft.world.World; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; // The value here should match an entry in the META-INF/mods.toml file @Mod(ModQuestion.MODID) public class ModQuestion { public static final String MODID = "questionmod"; private static final Logger LOGGER = LogManager.getLogger(); public ModQuestion() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetupEvent); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onWorldLoaded); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onWorldSaved); } private void onClientSetupEvent(final FMLClientSetupEvent event) { LOGGER.debug("Hello from the Client Setup!"); } public void onWorldLoaded(WorldEvent.Load event) { LOGGER.debug("Hello from World Loading!"); World world = null; //Where do I get my world from? event.getWorld() returns an IWorld if (!world.isRemote()) { //Get the data from the world save file CompoundNBT tag = new CompoundNBT(); CompoundNBT tagCompound = new CompoundNBT(); MySavedData saver = MySavedData.forWorld(world); tag = saver.data; if(tagCompound.contains("MyTagName")) { //Do Stuff with the data } } } public void onWorldSaved(WorldEvent.Save event) { LOGGER.debug("Hello from World Saving!"); World world = null; //Where do I get my world from? event.getWorld() returns an IWorld if (!world.isRemote()) { CompoundNBT dataToSave = new CompoundNBT(); //Store some data in dataToSave //dataToSave.put("MyTagName", ...); MySavedData saver = MySavedData.forWorld(world); saver.data = dataToSave; saver.markDirty(); } } } And this is my custom WorldSavedData class: package de.tetopia.question; import net.minecraft.nbt.CompoundNBT; import net.minecraft.world.World; import net.minecraft.world.storage.WorldSavedData; public class MySavedData extends WorldSavedData { public CompoundNBT data = new CompoundNBT(); public MySavedData() { super(ModQuestion.MODID); } public MySavedData(String name) { super(name); } @Override public void read(CompoundNBT nbt) { data = nbt.getCompound("MyTagName"); } @Override public CompoundNBT write(CompoundNBT nbt) { nbt.put("MyTagName", data); return nbt; } public static MySavedData forWorld(World world) { MapStorage storage = world.getMapStorage(); //PROBLEM: What is the 1.15 way of doing this? MySavedData saver = (MySavedData) storage.getOrLoadData(MySavedData.class, ModQuestion.MODID); if (saver == null) { saver = new MySavedData(); storage.setData(ModQuestion.MODID, saver); } return saver; } }
  4. No, the metadata IN WHOLE being more than 16 possibilities is not the cause of the problem. Each SINGLE door block only has a max of 16 possibilities and gets the rest of the nessecary data from the door blocks below or above itself. Thats why doors (mine as well as the vanilla ones) have this combineMeta thingy. This worked since I started this mod back in version 1.6. Even vanilla doors have 32 possibilities in whole! They don't only store the half, the facing and the state (open or closed) but also if the hinge is on the left or on the right! The getMetafromState Method will never return a value > 15: I guess my problem is more like not overwriting the correct super method or something stupid like this... Just something that is so stupidly simple that I didn't see it.
  5. That's why I store some of the data in the upper part, some of the data in the middle part and the rest of the data in the lower part. Each part knows its height/position and fetches the things it doesn't store itself from the other parts. Just as vanilla doors do (they have HALF, FACING, HINGE and OPEN resulting in 32 possibilities). That worked fine in the 1.9 version and works on vanilla doors, so that's not the cause of the problem.
  6. I know about Generics, I just can't see what that got to do with my problem? Maybe I should be asking differently: How do I get the client side of the Gui to immediatly display a change made to an item in one of the containers slots on the server side? Right now the item updates client side (shows the correct tool tip) as soon as I take it out of the slot. How can I update the item so I see the correct tool tip even if I only hover it?
  7. On that one I can't follow you... Right at the moment I'm delaying the problem by simply commenting out the line, but I haven't found a proper solution yet.
  8. I'm trying to update my mod from 1.9 to 1.10.2 (forge version 12.16.1.1887 to 12.18.2.2098). My Doors save all their information in metadata. When placing a new door it works fine, but after saving, quitting to title and reloading the world all metadata seems to be lost. I even tried to copy parts of my code into the vanilla doors code, but I get the same problem there... It is NOT a problem of my doors having more than 16 possible values to store in their metadata. Each single door block only stores part of the combined data and gets the data it doesn't store itself from the blocks above or below it. That's the same as vanilla doors work. This is the code of my BlockDoorOneByThree.java: This is the BlockDoorOneByThree.java where I copied my code fragments into the vanilla door: The whole code can be found here: GitHub Repo
  9. Thanks a lot! This solved it. Good explanation too When I chage ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1); to ((IContainerListener)this.inventorySlots.get(j)).sendSlotContents(this, i, itemstack1); (as this.craftes does not seem to exist any more) it does compile but crashes as soon as I open the Gui with a "Cannot be cast" Exception. Is there anythin else but crafters and inventorySlots that I can use there? I didn't find it...
  10. I'm trying to update my mod from 1.9 to 1.10.2 (forge version 12.16.1.1887 to 12.18.2.2098). Most of my mods work just fine, but with my AccessControl I'm having a little bit of a problem. The access panels can have different colors and some other properties, but on loading a world they all have the default properties on the client side. It seems that on the server side they have correct properties because they are behaving as they should, although looking differently. As soon as they are activated once the clientside gets the correct data and now they are looking as they should. This is my code of the BlockAccessPanel.java and this is the TileEntityAccessPanel.java and I can't seem to find a correct way to update this line ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1); in public void detectAndSendChanges() in the container... ContainerAccessAdministrator.java: Edit: The solution was to update the line to: this.listeners.get(0).sendSlotContents(this, i, itemstack1); The whole code can be found here: GitHub Repo
  11. Am I not accessing the data with the World instance by calling public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn,World worldIn,EntityPlayer playerIn,EnumHand hand) { //Get the data from the world save file SavedDataTeleporter saver = SavedDataTeleporter.forWorld(worldIn); HealMod.positionen.readNBTList(saver.getData()); and public static SavedDataTeleporter forWorld(World world) { // Retrieves the SavedDataTeleporter instance for the given world, creating it if necessary MapStorage storage = world.getMapStorage(); SavedDataTeleporter saver = (SavedDataTeleporter) storage.loadData(SavedDataTeleporter.class, HealMod.MODID); if (saver == null) { saver = new SavedDataTeleporter(); storage.setData(HealMod.MODID, saver); } return saver; } ? Ok, got that thing with decoding/encoding in readFromNbt and writeToNbt , makes sense. The linked list implementation: Yeah, I know... I partially did it to just implement something like this by myself to really understand it
  12. Hi, I'm helping some other guys to write their mod in which you can place teleporter blocks. When rightclicking with the staff it should teleport you to the nearest teleporter block. I'm trying to save the teleporter block's position in the world data using WorldSavedData but neither readFromNBT nor writeToNBT gets called... Can you help me? Teleporter Block: Teleporter Staff: My WorldSavedData class: BlockPosList:
  13. I had the same problem as shown in the first post. I'm using the latest recommended Forge: forge-1.9-12.16.1.1887-mdk Vanilla Blocks just work fine in 1.8 and 1.9, my stais worked fine in 1.8, but in 1.9 my upper corner (inner and outer) stairs didn't rotate properly. The lower stairs were ok. Im using the vanilla models. The solution for me was to change the blockstates and rotate the blocks there. I changed the "y"-Value in the lower half by either adding or substracting 90 degrees (outer_right +90, outer_left -90, inner_right +90, inner_left -90) Code: assets/roxastonestairs/blockstates/stoneStair.json for 1.8 { "variants": { "facing=east,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair" }, "facing=west,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs" }, "facing=west,half=bottom,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=outer_right":{ "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=outer_right":{ "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 270, "uvlock": true }, "facing=west,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs" }, "facing=north,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 180, "uvlock": true }, "facing=east,half=bottom,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs" }, "facing=west,half=bottom,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=inner_right":{ "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=inner_right":{ "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 270, "uvlock": true }, "facing=west,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs" }, "facing=north,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 180, "uvlock": true }, "facing=east,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "uvlock": true }, "facing=west,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 270, "uvlock": true }, "facing=east,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=west,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=east,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=north,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=east,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=west,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=east,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=north,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 0, "uvlock": true } } } assets/roxastonestairs/blockstates/stoneStair.json for 1.9 { "variants": { "facing=east,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair" }, "facing=west,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs" }, "facing=west,half=bottom,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=outer_right":{ "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=outer_right":{ "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 270, "uvlock": true }, "facing=west,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs" }, "facing=north,half=bottom,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "y": 180, "uvlock": true }, "facing=east,half=bottom,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs" }, "facing=west,half=bottom,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=inner_right":{ "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=inner_right":{ "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 270, "uvlock": true }, "facing=west,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs" }, "facing=north,half=bottom,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "y": 180, "uvlock": true }, "facing=east,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "uvlock": true }, "facing=west,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=straight": { "model": "RoxaStoneStairs:stoneStair", "x": 180, "y": 270, "uvlock": true }, "facing=east,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=north,half=top,shape=outer_right": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=east,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=west,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=outer_left": { "model": "RoxaStoneStairs:stoneStair_outer_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=east,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=north,half=top,shape=inner_right": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=east,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 0, "uvlock": true }, "facing=west,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=north,half=top,shape=inner_left": { "model": "RoxaStoneStairs:stoneStair_inner_stairs", "x": 180, "y": 270, "uvlock": true } } }
  14. I got the same problem. Most (but not all) of my blocks are scrambled. I updated from forge-1.8-11.14.0.1281-1.8-src to forge-1.8.9-11.15.1.1722-mdk (Mod development) and Forge 11.14.3.1450 to Forge 11.15.1.1722 (Forge version used while playing) It seems it scrambles only because I've got more than one mod running. If I create a new world in 1.8 with only one of my mods the blocks seem perfectly ok in 1.8.9. This gives me a feeling of scrambled mod-IDs? Is this the same problem as this one? http://www.minecraftforge.net/forum/index.php/topic,36733.0.html Because it was asked on the other thred here are my mods and worlds, both 1.8 and 1.8.9: 1.8 and 1.8.9 Mods and World (I also use Optifine but that shouldn't be a problem, should it?)
  15. Thank you SO MUCH! This was the solution. I would not have tought of that...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.