1.9-4.1.0 requires MalisisCore 1.9-3.1.1
- Changed "recipe" element to "recipes". It's now an array to allow multiple recipes for one block.
- Added "metadata" element to a recipes.
1.8.9-3.2.0 requires MalisisCore 1.8.9-2.0.4 1.8-2.2.0 requires MalisisCore 1.8-1.4.4
- Added possibility to reference other mods or vanilla textures.
- Fixed recipes using meta with double digit.
- Fixed model size of third person view for Colored Blocks.
- Adjusted rotation and position of walls in hand and in GUI.
- Fixed localization for the the creative tab name.
1.8.9-3.1.0 requires MalisisCore 1.8.9-2.0.3 1.8-2.1.0 requires MalisisCore 1.8-1.4.3 - Added new block type : wall.
- Added handling for smelting recipes.
1.8.9-3.0.0 requires MalisisCore 1.8.9-2.0.0 1.8-2.0.1 requires MalisisCore 1.8-1.4.2
- Fixed textures not being loaded for Colored blocks
1.8-2.0 requires MalisisCore 1.8-1.4.0
- Fixed lighting issue with slabs.
1.7.10-1.5 requires MalisisCore 1.7.10-0.12.10 - Added possiblility to set a light value for blocks (lightValue field).
- Fixed crash when lang folder was missing.
- Fixed light going through the blocks.
1.7.10-1.4 requires MalisisCore 1.7.10-0.12.10
- Build to prevent crash with latest MalisisCore.
1.7.10-1.2 requires MalisisCore 1.7.10-0.10.5 - Added possibility to specify recipes for the blocks.
1.7.10-1.1 requires MalisisCore 1.7.10-0.10.2 - Added animation support for textures.
- Fixed crash if ddbpacks/ folder doesn't exist.
- Fixed blocks being opaque when translucency was enabled.
- Fixed crash on dedicated servers.
The purpose of this mod is to allow the creation of basic blocks without the necessity of knowing how to program. It's aimed for adventure map makers that want to provide more diverse visual environments without having to rely on Minecraft blocks with custom texture packs.
It's called Do It Yourself Decorative Blocks (DDB for short), and it implies two things : first, you are the ones creating the blocks, simply by providing textures. Second, the aim is purely decorative, no advanced machinery that gets the mail and makes coffee, just pretty blocks.
JSON file :
Even though no coding skill is involved, DDB packs do require a JSON file to determine what kind of block the textures need to be used for.
JSON is an easy to use data format that obeys a few simple rules : Objects are defined by braces { } and contains a list of Fields. Fields are defined by their names inside quotes followed by a colon and then the value. The value needs to be in quotes too unless it's a number, a boolean (true or false) or a new Object (new set of braces, with fields inside).
Multiple Fields inside an Object are separated by a comma. One must be careful not to leave a comma after the last Field of an Object.
A JSON file is always represented by a single Object, so make sure the file starts and ends with braces.
Here is an example of a JSON file :
If you want to verify the JSON validity, you can use online validators like http://jsonlint.com/
DDB pack JSON :
For DDB, the main JSON object contains a list of blocks where the Fields names define the block names, and the values are Objects defining all the properties for the block. If a field has a default value, then it can be omitted. Here are the properties available : type : determines what kind of block it will be. See below for a list of available types. Default : standard. hardness : time necessary for the block to be mined (for example, stone is 1.5, dirt is 0.5, planks it 2.0 and glass is 0.3). Default : 2.0 material : determines general properties as well as the effective tool for the block. See below for list of available materials. Default : wood. soundType : determines the sound when walking on the block. See below for list of available sound types. Default : wood. opaque : determines whether the block is opaque or not. Default : false. lightValue : determines the amount of light the block emits (between 0 and 15). Default : 0. textureName : determines the name of the file in the pack. Must not contains file extension. Will default to block's name if omitted. Another mod or vanilla texture can be reference using the syntax : {modid}:{item/block name}@{metadata} textures : determines what texture to use for each side. It's an Object where the Fields are : top, bottom, sides, front, inside, outside and the values are the file name without extension. Default to textureName. Note that setting "front" field will make the type of the block to be directional, and that "outside" and "inside" only have an effect if type is wall. useColorMultiplier : only used for colored type. Will apply colour to the block via code instead of using separated textures for each colour. numBlocks : only used for megaTexture type. Defines over how many block the texture will be streched. Default : texture_width / 16. (64x64 texture will stretch over 4 blocks by default). furnaceRecipe : determines the recipe required to smelt the block. recipes : determines the recipes required to craft the block. (Removed in 1.12.2. See Recipe section below)
Available options for type :
standard : defines a standard block. Nothing special about it, just a plain cube.
directional : defines a block with a front face. To be used when you need a front face with a specific texture. Automatically inferred when using frontField for textures.
colored : defines a block for the 16 colours available in Minecraft. Colours are : black, red, green, brown, blue, purple, cyan, silver, grey, pink, lime, yellow, lightBlue, magenta, orange, white. You need to create texture files for each colour with name {texture_name}_{color}. So for example : myawesomeblock_green.png. If the field useColorMultiplier is set to true, only one texture is needed and the colours will be applied to the texture automatically.
stairs : defines a block that will be shaped as stairs. Note : Minecraft stairs won't connect to them.
slab : defines a slab block. Half height blocks, that can be placed twice to make a full block, like regular slabs.
connected : defines the block as using connected textures. For this type, two different textures are expected with a certain pattern.
They should look like this :
Note : due to a bug in Minecraft, connected texture don't work well in 1.7.2.
megaTexture : defines a texture that will be stretched over several blocks.
wall : defines a wall block. Slim blocks, that can be made into a corner when placed twice.
pane : defines a pane block. Slim blocks, that acts like glass panes or iron bars.
slope : defines a sloped block.
corner : defines a corner block.
slopedCorner : defines a sloped corner block. Important : To be able to craft the inverted sloped corner (the big one) you need to use 4 as the metadata for the recipe !
Available options for material :
air, grass, ground, wood, rock, iron, anvil, water, lava, leaves, plants, vine, sponge, cloth, fire, sand, circuits, carpet, glass, redstoneLight, tnt, coral, ice, packedIce, snow, craftedSnow, cactus, clay, gourd ,dragonEgg, portal, cake, web
Available options for soundType :
stone, wood, gravel, grass, piston, metal, glass, cloth, sand, snow, ladder, anvil
furnaceRecipe object specifications :
The available properties for the smelting recipe object are as follow : item : string representing the item to be smelted from. Uses the same rules as item strings used for recipe object. xp : the amount of experience smelting the block provides. Default : 0.1. For reference, smelting cobblestone or sand gives 0.1, smelting food gives 0.35, smelting iron ore gives 0.7 and smelting gold or diamond ore gives 1.
File structure :
The mod looks for the folder named ddbpacks/ inside your Minecraft directory (same place where you have your resourcepacks/ folder), and reads all the packs inside it. And like for resourcepacks/, DDB packs can be either folders or zip files.
Inside the ddbpacks/ folder, create a new folder with the name of the pack and place inside the textures and the JSON file. The JSON imperatively needs to have the same name as the folder. So if you want to name your pack "myawesomepack", then your file path will be {minecraft folder}/ddbpacks/myawesomepack/myawesomepack.json.
Recipes :
Since 1.12.2, a new recipe system has been implemented in Minecraft which allows to specify recipes using JSON. DDB now uses the same system : recipes now need to be in new folder called recipes/. Each recipe resides in its own JSON file (the name of the file doesn't matter but should match the crafted item for clarity sake). Detailed syntax for the JSON can be found here : 1.12 - Custom Recipes
For the syntax for version before 1.12.2, see the spoiler below.
recipes array specifications :
As multiple recipes can be specified, they need to be inside [ and ] . Each element is a recipe object described as follow : amount : the amount of blocks the recipe gives. Default : 1 amount : the metadata resulting in the itemStack. Default : 0 shapeless : determines whether the position of the items in the grid matters. If shapeless is true, the position doesn't matter (like dying wool blocks). Default : false. items : determines the actual items to use for the recipe. The recipe needs to encapsulate rows with crochets [ ] and each row need to be encapsulated by crochets too, separated by commas. Inside each row, the items needed are represented by strings (inside quotes) separated by commas, and are the same you would use with /give command in minecraft ("minecraft:planks" for example). An empty slot is represented by an empty string "". An empty row or column can be omitted entirely.
If you want to use blocks defines by a DDB pack, the name should be as follow : ddb:{name of the pack}_{name of the block}.
Notes : - you can specify metadata by appending @ and the metadata value to the block name.
- you can use ore dictionnary names for the items (eg : "logWood").
- you don't need the formatting below, it's just to make it more readable by human eyes.
Localizations :
Of course, localizations are supported, because you don't really want your block to display "tile.myawesomepack_myawesomeblock.name" in the inventory.
To localize your blocks, you need to make a new folder named lang/ inside your pack and place the lang files in it (en_US.lang for english for example).
The structure of the lang files are as follow : tile.{packName}_{blockName}.name={translation} (eg.: tile.myawesomepack_myawesomeblock.name=My awesome block!)
Example Pack
Here is the example pack that I use when in development, and used for all the screenshots in this post : http://puu.sh/pWTfy.zip
Modpacks
No restriction concerning modpacks. Feel free to use this mod in your modpacks!.
If you have any problem running this mod, please make sure to provide a crash log. Nobody can help fixing a random generic problem, so just posting something like "It doesn't work" or "The game crashes" will lead you nowhere.
But first, you need to make sure your problem isn't one of the following :
cpw.mods.fml.common.LoaderException: java.lang.NoSuchMethodError: cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(Lcpw/mods/fml/common/network/simpleimpl/IMessageHandler;Ljava/lang/Class;ILcpw/mods/fml/relauncher/Side;)V
You need to update your Forge.
cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: net.malisis.doors.MalisisDoors
You didn't install MalisisCore. You need to download MalisisCore.jar and place it in Minecraft's mods folder too.
java.util.ConcurrentModificationException
If you have this, it's because you installed Java 8. You need the latest version of Forge.
If the crash is not one of those listed above, then you can post your crash log in spoiler tag and I will be able to investigate the issue.
this looks great, I'll be trying it out. Are the new blocks only available in creative, or are there recipes? How does one acquire them in-game during survival?
this looks great, I'll be trying it out. Are the new blocks only available in creative, or are there recipes? How does one acquire them in-game during survival?
Right now, they're only available in creative mode as I didn't find a good way to provide them in survival. Best idea I have so far is a machine to convert from one vanilla block to the one you want.
Sir, a followup thank you. This is pretty awesome. After struggling a bit at the start, I was able to import a couple of decorative blocks from a favorite mod. I don't want the added functions, just the blocks, and this hit the spot.
---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!
Time: 27/09/14 21:03
Description: Initializing game
java.lang.NullPointerException: Initializing game
at net.malisis.ddb.BlockPack.readPackFolder(BlockPack.java:308)
at net.malisis.ddb.DDB.<init>(DDB.java:64)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at net.malisis.ddb.BlockPack.readPackFolder(BlockPack.java:308)
at net.malisis.ddb.DDB.<init>(DDB.java:64)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Hum, I think this happens because you didn't make a ddbpacks/ folder inside your Minecraft directory. Make one and you should be fine.
I'll fix the code to create it auotmatically instead of crashing.
yeah, i've got them not opaque now, however, when there's a block adjacent to them, I'm still seeing through the world, not sure if that is something fix-able or not.
btw, great mod, i love being able to make these, so simple. great work and sorry for being a pain. just trying to walk myself through this. thanks for the help.
yeah, i've got them not opaque now, however, when there's a block adjacent to them, I'm still seeing through the world, not sure if that is something fix-able or not.
btw, great mod, i love being able to make these, so simple. great work and sorry for being a pain. just trying to walk myself through this. thanks for the help.
My bad, there is actually a bug : setting transluscent to true make it opaque regardless (should be the opposite). I'll try to make release to fix it as soon as possible.
awesome! thanks a lot. Again, i'm having so much fun making my own textures and that's thanks to you. For anyone wondering, using Minetweaker is great for getting recipes in game. Not too hard to do at all. Maybe we can share what we've made here too in case anyone wants to check things out, or use them for themselves.
sorry to bug you again, trying to migrate this over to my server now, and I'm getting this error. any thoughts?
I did copy over the ddpacks folder.
---- Minecraft Crash Report ----
// Ooh. Shiny.
Time: 11/11/14 8:03 PM
Description: Exception in server tick loop
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/malisis/ddb/renderer/StairsRenderer
at cpw.mods.fml.common.LoadController.transition(LoadController.java:162)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:692)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
Caused by: java.lang.NoClassDefFoundError: net/malisis/ddb/renderer/StairsRenderer
at net.malisis.ddb.DDB.init(DDB.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.malisis.ddb.renderer.StairsRenderer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 32 more
Caused by: java.lang.NoClassDefFoundError: net/malisis/core/renderer/BaseRenderer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
... 34 more
Caused by: java.lang.ClassNotFoundException: net.malisis.core.renderer.BaseRenderer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 38 more
Updates :
1.12.2-7.0.0 requires MalisisCore 1.12.2-6.1.7 for Minecraft 1.12.2
- Fixed crash when the JSON for the pack was not found.
1.11.2-6.1.0 requires MalisisCore 1.11.2-5.1.0 for Minecraft 1.11.2
1.10.2-5.1.0 requires MalisisCore 1.10.2-4.3.0 for Minecraft 1.9.4 / 1.10.2
1.11.2-6.0.0 requires MalisisCore 1.11.2-5.0.1 for Minecraft 1.11.2
1.9.4-5.0.0 requires MalisisCore 1.9.4-4.1.1 for Minecraft 1.9.4 / 1.10.2
1.9-4.1.1 requires MalisisCore 1.9-3.1.1
- Fixed connected textures.
1.9-4.1.0 requires MalisisCore 1.9-3.1.1
- Changed "recipe" element to "recipes". It's now an array to allow multiple recipes for one block.
- Added "metadata" element to a recipes.
1.9-4.0.0 requires MalisisCore 1.9-3.1.0
- Added slopes, corners and sloped corners
1.8.9-3.3.0 requires MalisisCore 1.8.9-2.1.1
1.8-2.3.0 requires MalisisCore 1.8-1.4.7
- Added new block type : pane.
1.8.9-3.2.1 requires MalisisCore 1.8.9-2.0.4
1.8-2.2.1 requires MalisisCore 1.8-1.4.4
- Fixed crash when referencing vanilla textures.
1.8.9-3.2.0 requires MalisisCore 1.8.9-2.0.4
1.8-2.2.0 requires MalisisCore 1.8-1.4.4
- Added possibility to reference other mods or vanilla textures.
- Fixed recipes using meta with double digit.
- Fixed model size of third person view for Colored Blocks.
- Adjusted rotation and position of walls in hand and in GUI.
- Fixed localization for the the creative tab name.
1.8.9-3.1.0 requires MalisisCore 1.8.9-2.0.3
1.8-2.1.0 requires MalisisCore 1.8-1.4.3
- Added new block type : wall.
- Added handling for smelting recipes.
1.8.9-3.0.0 requires MalisisCore 1.8.9-2.0.0
1.8-2.0.1 requires MalisisCore 1.8-1.4.2
- Fixed textures not being loaded for Colored blocks
1.8-2.0 requires MalisisCore 1.8-1.4.0
- Fixed lighting issue with slabs.
1.7.10-1.5 requires MalisisCore 1.7.10-0.12.10
- Added possiblility to set a light value for blocks (lightValue field).
- Fixed crash when lang folder was missing.
- Fixed light going through the blocks.
1.7.10-1.4 requires MalisisCore 1.7.10-0.12.10
- Build to prevent crash with latest MalisisCore.
1.7.10-1.2 requires MalisisCore 1.7.10-0.10.5
- Added possibility to specify recipes for the blocks.
1.7.10-1.1 requires MalisisCore 1.7.10-0.10.2
- Added animation support for textures.
- Fixed crash if ddbpacks/ folder doesn't exist.
- Fixed blocks being opaque when translucency was enabled.
- Fixed crash on dedicated servers.
1.7.10-1.1 requires MalisisCore 1.7.10-0.9.6
- Added MegaTexture type.
Contents :
The purpose of this mod is to allow the creation of basic blocks without the necessity of knowing how to program. It's aimed for adventure map makers that want to provide more diverse visual environments without having to rely on Minecraft blocks with custom texture packs.
It's called Do It Yourself Decorative Blocks (DDB for short), and it implies two things : first, you are the ones creating the blocks, simply by providing textures. Second, the aim is purely decorative, no advanced machinery that gets the mail and makes coffee, just pretty blocks.
JSON file :
Even though no coding skill is involved, DDB packs do require a JSON file to determine what kind of block the textures need to be used for.
JSON is an easy to use data format that obeys a few simple rules :
Objects are defined by braces { } and contains a list of Fields.
Fields are defined by their names inside quotes followed by a colon and then the value. The value needs to be in quotes too unless it's a number, a boolean (true or false) or a new Object (new set of braces, with fields inside).
Multiple Fields inside an Object are separated by a comma. One must be careful not to leave a comma after the last Field of an Object.
A JSON file is always represented by a single Object, so make sure the file starts and ends with braces.
Here is an example of a JSON file :
{
"field1" : "value",
"booleanField" : true,
"objectField" :
{
"field" : 3
}
}
If you want to verify the JSON validity, you can use online validators like http://jsonlint.com/
DDB pack JSON :
For DDB, the main JSON object contains a list of blocks where the Fields names define the block names, and the values are Objects defining all the properties for the block. If a field has a default value, then it can be omitted. Here are the properties available :
type : determines what kind of block it will be. See below for a list of available types. Default : standard.
hardness : time necessary for the block to be mined (for example, stone is 1.5, dirt is 0.5, planks it 2.0 and glass is 0.3). Default : 2.0
material : determines general properties as well as the effective tool for the block. See below for list of available materials. Default : wood.
soundType : determines the sound when walking on the block. See below for list of available sound types. Default : wood.
opaque : determines whether the block is opaque or not. Default : false.
lightValue : determines the amount of light the block emits (between 0 and 15). Default : 0.
textureName : determines the name of the file in the pack. Must not contains file extension. Will default to block's name if omitted. Another mod or vanilla texture can be reference using the syntax : {modid}:{item/block name}@{metadata}
textures : determines what texture to use for each side. It's an Object where the Fields are : top, bottom, sides, front, inside, outside and the values are the file name without extension. Default to textureName. Note that setting "front" field will make the type of the block to be directional, and that "outside" and "inside" only have an effect if type is wall.
useColorMultiplier : only used for colored type. Will apply colour to the block via code instead of using separated textures for each colour.
numBlocks : only used for megaTexture type. Defines over how many block the texture will be streched. Default : texture_width / 16. (64x64 texture will stretch over 4 blocks by default).
furnaceRecipe : determines the recipe required to smelt the block.
recipes : determines the recipes required to craft the block. (Removed in 1.12.2. See Recipe section below)
Available options for type :
standard : defines a standard block. Nothing special about it, just a plain cube.
directional : defines a block with a front face. To be used when you need a front face with a specific texture. Automatically inferred when using front Field for textures.
colored : defines a block for the 16 colours available in Minecraft. Colours are : black, red, green, brown, blue, purple, cyan, silver, grey, pink, lime, yellow, lightBlue, magenta, orange, white. You need to create texture files for each colour with name {texture_name}_{color}. So for example : myawesomeblock_green.png. If the field useColorMultiplier is set to true, only one texture is needed and the colours will be applied to the texture automatically.
stairs : defines a block that will be shaped as stairs. Note : Minecraft stairs won't connect to them.
slab : defines a slab block. Half height blocks, that can be placed twice to make a full block, like regular slabs.
connected : defines the block as using connected textures. For this type, two different textures are expected with a certain pattern.
They should look like this :
Note : due to a bug in Minecraft, connected texture don't work well in 1.7.2.
megaTexture : defines a texture that will be stretched over several blocks.
wall : defines a wall block. Slim blocks, that can be made into a corner when placed twice.
pane : defines a pane block. Slim blocks, that acts like glass panes or iron bars.
slope : defines a sloped block.
corner : defines a corner block.
slopedCorner : defines a sloped corner block. Important : To be able to craft the inverted sloped corner (the big one) you need to use 4 as the metadata for the recipe !
Available options for material :
air, grass, ground, wood, rock, iron, anvil, water, lava, leaves, plants, vine, sponge, cloth, fire, sand, circuits, carpet, glass, redstoneLight, tnt, coral, ice, packedIce, snow, craftedSnow, cactus, clay, gourd ,dragonEgg, portal, cake, web
Available options for soundType :
stone, wood, gravel, grass, piston, metal, glass, cloth, sand, snow, ladder, anvil
furnaceRecipe object specifications :
The available properties for the smelting recipe object are as follow :
item : string representing the item to be smelted from. Uses the same rules as item strings used for recipe object.
xp : the amount of experience smelting the block provides. Default : 0.1. For reference, smelting cobblestone or sand gives 0.1, smelting food gives 0.35, smelting iron ore gives 0.7 and smelting gold or diamond ore gives 1.
File structure :
The mod looks for the folder named ddbpacks/ inside your Minecraft directory (same place where you have your resourcepacks/ folder), and reads all the packs inside it. And like for resourcepacks/, DDB packs can be either folders or zip files.
Inside the ddbpacks/ folder, create a new folder with the name of the pack and place inside the textures and the JSON file. The JSON imperatively needs to have the same name as the folder. So if you want to name your pack "myawesomepack", then your file path will be {minecraft folder}/ddbpacks/myawesomepack/myawesomepack.json.
Recipes :
Since 1.12.2, a new recipe system has been implemented in Minecraft which allows to specify recipes using JSON. DDB now uses the same system : recipes now need to be in new folder called recipes/. Each recipe resides in its own JSON file (the name of the file doesn't matter but should match the crafted item for clarity sake). Detailed syntax for the JSON can be found here : 1.12 - Custom Recipes
For the syntax for version before 1.12.2, see the spoiler below.
As multiple recipes can be specified, they need to be inside [ and ] . Each element is a recipe object described as follow :
amount : the amount of blocks the recipe gives. Default : 1
amount : the metadata resulting in the itemStack. Default : 0
shapeless : determines whether the position of the items in the grid matters. If shapeless is true, the position doesn't matter (like dying wool blocks). Default : false.
items : determines the actual items to use for the recipe. The recipe needs to encapsulate rows with crochets [ ] and each row need to be encapsulated by crochets too, separated by commas. Inside each row, the items needed are represented by strings (inside quotes) separated by commas, and are the same you would use with /give command in minecraft ("minecraft:planks" for example). An empty slot is represented by an empty string "". An empty row or column can be omitted entirely.
If you want to use blocks defines by a DDB pack, the name should be as follow : ddb:{name of the pack}_{name of the block}.
Notes : - you can specify metadata by appending @ and the metadata value to the block name.
- you can use ore dictionnary names for the items (eg : "logWood").
- you don't need the formatting below, it's just to make it more readable by human eyes.
Localizations :
Of course, localizations are supported, because you don't really want your block to display "tile.myawesomepack_myawesomeblock.name" in the inventory.
To localize your blocks, you need to make a new folder named lang/ inside your pack and place the lang files in it (en_US.lang for english for example).
The structure of the lang files are as follow : tile.{packName}_{blockName}.name={translation} (eg.: tile.myawesomepack_myawesomeblock.name=My awesome block!)
Example Pack
Here is the example pack that I use when in development, and used for all the screenshots in this post : http://puu.sh/pWTfy.zip
Modpacks
No restriction concerning modpacks. Feel free to use this mod in your modpacks!.
Downloads for Minecraft 1.12.2
Download DIYDecorativeBlocks 1.12.2-7.0.0 on CurseForge
Warning :
Requires Java 8.
Requires Forge 1.12.2-14.23.0.2494 and higher.
Requires MalisisCore 1.12.2-6.1.7
Previous versions (discontinued)
DIYDecorativeBlocks 1.11.2-6.1.0, requires Java 8, Forge 1.11.2-13.20.0.2226 and higher, and MalisisCore 1.11.2-5.1.0
Minecraft 1.9.4 / 1.10.2
DIYDecorativeBlocks 1.9.4-5.1.0, requires Java 8, Forge 1.9.4-12.17.0.1987 and higher, and MalisisCore 1.10.2-4.3.0
Minecraft 1.9
DIYDecorativeBlocks 1.9-4.1.1, requires Java 8, Forge 1.9-12.16.0.1865 and higher, and MalisisCore 1.9-3.1.1
Minecraft 1.8.9
DIYDecorativeBlocks 1.8.9-3.1.0, requires Java 8, Forge 1.8.9-11.15.1.1722 and higher, and MalisisCore 1.8.9-2.1.1
Minecraft 1.8
DIYDecorativeBlocks 1.8-2.3.0, requires Java 8, Forge 1.8-11.14.3.1487 and higher, and MalisisCore 1.8-1.4.7
Minecraft 1.7.10
DIYDecorativeBlocks 1.7.10-1.5, requires Java 7, Forge 1.7.10-10.13.2.1342 and higher, and MalisisCore 1.7.10-0.12.10
Minecraft 1.7.2
DIYDecorativeBlocks 1.7.10-1.2, requires Java 7, Forge 1.7.2-10.13.2.1291 and higher, and MalisisCore 1.7.10-0.10.5
Troubleshooting :
If you have any problem running this mod, please make sure to provide a crash log. Nobody can help fixing a random generic problem, so just posting something like "It doesn't work" or "The game crashes" will lead you nowhere.
But first, you need to make sure your problem isn't one of the following :
cpw.mods.fml.common.LoaderException: java.lang.NoSuchMethodError:
cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(Lcpw/mods/fml/common/network/simpleimpl/IMessageHandler;Ljava/lang/Class;ILcpw/mods/fml/relauncher/Side;)V
You need to update your Forge.
cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: net.malisis.doors.MalisisDoors
You didn't install MalisisCore. You need to download MalisisCore.jar and place it in Minecraft's mods folder too.
java.util.ConcurrentModificationException
If you have this, it's because you installed Java 8. You need the latest version of Forge.
If the crash is not one of those listed above, then you can post your crash log in spoiler tag and I will be able to investigate the issue.
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
Downloading Now
I'm working on an open-source mod called Craft++. Check it out!
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
Right now, they're only available in creative mode as I didn't find a good way to provide them in survival. Best idea I have so far is a machine to convert from one vanilla block to the one you want.
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
I love the detail.
Check out my art!!
http://blueeyes9.deviantart.com/
---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!
Time: 27/09/14 21:03
Description: Initializing game
java.lang.NullPointerException: Initializing game
at net.malisis.ddb.BlockPack.readPackFolder(BlockPack.java:308)
at net.malisis.ddb.DDB.<init>(DDB.java:64)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at net.malisis.ddb.BlockPack.readPackFolder(BlockPack.java:308)
at net.malisis.ddb.DDB.<init>(DDB.java:64)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 8 (amd64) version 6.2
Java Version: 1.8.0_20, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 117914536 bytes (112 MB) / 294014976 bytes (280 MB) up to 1060372480 bytes (1011 MB)
JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.84.1217 Minecraft Forge 10.13.1.1217 Optifine OptiFine_1.7.10_HD_U_A4 87 mods loaded, 86 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
FML{7.10.84.1217} [Forge Mod Loader] (forge-1.7.10-10.13.1.1217.jar) Unloaded->Constructed
Forge{10.13.1.1217} [Minecraft Forge] (forge-1.7.10-10.13.1.1217.jar) Unloaded->Constructed
Aroma1997Core{1.0.2.9} [Aroma1997Core] ([Core] Aroma1997 Core 1.0.2.9 - 1.7.10.jar) Unloaded->Constructed
CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed
gasesCore{1.5.2} [Glenn's Gases Core] (minecraft.jar) Unloaded->Constructed
gasesFrameworkCore{1.0.5.1} [Gases Framework Core] (minecraft.jar) Unloaded->Constructed
OpenEye{0.6} [OpenEye] ([Master] Open Eye 0.6 - 1.7.10.jar) Unloaded->Constructed
malisiscore{1.7.10-0.9.6} [Malisis Core] ([Core] Malisis Core 0.9.6 - 1.7.10.jar) Unloaded->Constructed
NGTLib{1.7.10.4} [NGTLib] ([Core-JP] NGTLib 1.7.10.4 - 1.7.10.zip) Unloaded->Constructed
AgravaineLib{0.12} [AgravaineLib] ([Core] Agravaine Lib 0.12 - 1.7.10.jar) Unloaded->Constructed
Aroma1997CoreHelper{1.0.2.9} [Aroma1997Core|Helper] ([Core] Aroma1997 Core 1.0.2.9 - 1.7.10.jar) Unloaded->Constructed
BuildMod{v1.0} [Build Mod] ([Core] Coro Util 1.1 - 1.7.10.jar) Unloaded->Constructed
CoroAI{v1.0} [CoroAI] ([Core] Coro Util 1.1 - 1.7.10.jar) Unloaded->Constructed
ExtendedRenderer{v1.0} [Extended Renderer] ([Core] Coro Util 1.1 - 1.7.10.jar) Unloaded->Constructed
ConfigMod{v1.0} [Extended Mod Config] ([Core] Coro Util 1.1 - 1.7.10.jar) Unloaded->Constructed
flansmod{4.7.0} [Flan's Mod] ([Core] Flan's Mod 4.7.0 - 1.7.10.jar) Unloaded->Constructed
cgo{3.0.8} [CG Origin] ([Core] GG Origin 3.0.8 - 1.7.10.jar) Unloaded->Constructed
GollumCoreLib{2.0.0} [Gollum Core Lib] ([Core] Gollum Core 2.0.0-b-1.0 - 1.7.10.jar) Unloaded->Constructed
grim3212core{V0.1 - 1.7.10} [Grim3212 Core] ([Core] Grim3212 Core 0.1 - 1.7.10.jar) Unloaded->Constructed
iChunUtil{4.0.0} [iChunUtil] ([Core] iChun Util 4.0.0 - 1.7.10.jar) Unloaded->Constructed
inspirit_core{1.0} [Inspirit Core] ([Core] Inspirit Core 1.1 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Core{6.0.18} [BuildCraft] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
mcicraft{1.0.5c} [MCICraft] ([Core] MCI Craft Core 1.0.5-c - 1.7.X.jar) Unloaded->Constructed
StealthwareCore{2.0} [StealthwareCore] ([Core] Stealthware Core 2.0 - 1.7.10.jar) Unloaded->Constructed
fans{1.3} [Fans] (Fans 1.3 - 1.7.X.jar) Unloaded->Constructed
tlhpoeCore{1.5} [TLHPoE Core] ([Core] TLHPOE Core 1.5 - 1.7.10.jar) Unloaded->Constructed
AS_UpdateCheck{1.1.6} [AtomicStryker Update Check Mod] ([Core] Update Checker - 1.7.10.jar) Unloaded->Constructed
BigItems{1.0a} [BigItems] ([JP] Big Items 1.0-a - 1.7.X.zip) Unloaded->Constructed
Booster{1.7.10V1} [Booster MOD] ([JP] Booster 1.0 - 1.7.10.jar) Unloaded->Constructed
Magic{1.7.10.1} [Magic_Mod] ([JP] Magic 1.7.10.1 - 1.7.10.zip) Unloaded->Constructed
OreSpider{1.1.0} [Ore Spider MOD] ([JP] Ore Spider 1.1.0 - 1.7.10.jar) Unloaded->Constructed
RedStoneActivationWeaponMod{3.7.1} [RedStoneActivationWeaponMod] ([JP] Redstone Activation Weapon 3.7.1 - 1.7.X.zip) Unloaded->Constructed
TravelDokodemoDoor{2.1.5-MC1.7.2} [‰“?ª‚Ç‚±‚Å‚àƒhƒA (Anywhere Travel Door)] ([JP] Travel Dokodemo Door 2.1.5 - 1.7.X.jar) Unloaded->Constructed
advanceddispensers{1.2.0-b7 for 1.7.10} [Advanced Dispensers Mod] (Advanced Dispensers 1.2.0-b7 - 1.7.10.jar) Unloaded->Constructed
AdvancedHUD{Version [0.1.8] for 1.7.10} [AdvancedHUD] (Advanced HUD 0.1.8 - 1.7.10.jar) Unloaded->Constructed
Aquaculture{1.2.3} [Aquaculture] (Aquaculture 1.2.5.8 - 1.7.10.jar) Unloaded->Constructed
ArchimedesShips{1.7.10 v1.7.1} [Archimedes' Ships] (Archimedes Ships 1.7.1 - 1.7.10.jar) Unloaded->Constructed
asielib{0.3.1} [asielib] (Asie Lib 0.3.1 - 1.7.10.jar) Unloaded->Constructed
autoitemreplacer{V0.1 - 1.7.10} [Automatic Item Replacer] (Automatic Item Replacer 0.1 - 1.7.10.jar) Unloaded->Constructed
weaponmod{1.7.2 v1.14.2} [Balkon's WeaponMod] (Balkon's Weapon 1.14.2 1.7.X.jar) Unloaded->Constructed
BattleTowers{1.4.9} [Battle Towers] (Battle Towers - 1.7.10.jar) Unloaded->Constructed
BetterChests{1.1.1.5} [BetterChests] (Better Chests 1.1.1.5 - 1.7.10.jar) Unloaded->Constructed
BiblioCraft{1.8.1} [BiblioCraft] (Biblio Craft 1.8.1 - 1.7.10.jar) Unloaded->Constructed
BiomesOPlenty{2.1.0} [Biomes O' Plenty] (Biomes O'Plenty 2.1.0.991 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Builders{6.0.18} [BC Builders] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Energy{6.0.18} [BC Energy] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Factory{6.0.18} [BC Factory] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Transport{6.0.18} [BC Transport] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
BuildCraft|Silicon{6.0.18} [BC Silicon] (Buildcraft 6.0.18 - 1.7.10.jar) Unloaded->Constructed
CarpentersBlocks{3.3.0 DEV} [Carpenter's Blocks] (Carpenter's Blocks 3.3.0 - 1.7.10.jar) Unloaded->Constructed
kegare.caveworld{1.5.4} [Caveworld] (Cave World 1.5.4 - 1.7.10.jar) Unloaded->Constructed
ChickenShed{1.1.3} [Chicken Shed] (Chicken Shed 1.1.3 - 1.7.X.jar) Unloaded->Constructed
chisel{1.5.7} [Chisel] (Chisel 1.5.7 - 1.7.10.jar) Unloaded->Constructed
craftguide{1.6.8.1} [CraftGuide] (Craft Guide 1.6.8.1 - 1.7.X.zip) Unloaded->Constructed
craft++{1.0} [Craft++] (Craft++ 1.0 - 1.7.10.jar) Unloaded->Constructed
CraftableAnimals{2.4.3.0} [Craftable Animals] (Craftable Animals 2.4.3.0 - 1.7.10.jar) Unloaded->Constructed
customnpcs{1.7.10b} [CustomNpcs] (Custom NPCs 1.7.10-b - 1.7.10.jar) Unloaded->Constructed
DamageIndicatorsMod{3.2.0} [Damage Indicators] (Damage Indicators 3.2.0 - 1.7.10.jar) Unloaded->Constructed
deconstruction{2.2.1} [The Deconstruction Mod] (Deconstruction Table 2.2.1 - 1.7.10.jar) Unloaded->Constructed
desertwells{V0.1 - 1.7.10} [Desert Wells] (Desert Wells 0.1 - 1.7.10.jar) Unloaded->Constructed
ddb{1.7.10-1.0} [DIY Decorative Blocks] (DIY Decorative Blocks 1.0 - 1.7.10.jar) Unloaded->Errored
MoCreatures{6.3.0} [DrZhark's Mo'Creatures Mod] (Dr. Zharks Mo Creatures 6.3.0 - 1.7.10.zip) Unloaded->Constructed
dungeonpack{1.7.10-1.0} [Dungeon Pack] (Dungeon Pack 1.0 - 1.7.10.jar) Unloaded->Constructed
DynamicLights{1.3.5} [Dynamic Lights] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_onFire{1.0.4} [Dynamic Lights Burning Entity Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_creepers{1.0.4} [Dynamic Lights Creeper Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_dropItems{1.0.7} [Dynamic Lights EntityItem Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_entityClasses{1.0.1} [Dynamic Lights Entity Light Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_mobEquipment{1.0.5} [Dynamic Lights Mob Equipment Light Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_flameArrows{1.0.0} [Dynamic Lights Fiery Arrows Light Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_floodLights{1.0.1} [Dynamic Lights Flood Light] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_otherPlayers{1.0.7} [Dynamic Lights OtherPlayers Light Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
DynamicLights_thePlayer{1.1.3} [Dynamic Lights Player Light Module] (Dynamic Lights - 1.7.10.jar) Unloaded->Constructed
EasyXP{1.0} [Easy XP] (Easy XP 1.0 - 1.7.10.jar) Unloaded->Constructed
ElementalCreepers{4.2.1} [Elemental Creepers] (Elemental Creepers 4.2.1 - 1.7.10.jar) Unloaded->Constructed
eplus{1.7.10-3.0.0a2} [Enchanting Plus] (Enchanting Plus 3.0.0-a-2 - 1.7.10.jar) Unloaded->Constructed
enderrepositories{1.3} [Ender Repositories] (Ender Repositories 1.3 - 1.7.3.jar) Unloaded->Constructed
EnderStorage{1.4.4.6} [EnderStorage] (Ender Storage 1.4.4.6 - 1.7.10.jar) Unloaded->Constructed
enhancedportals{3.0.6} [EnhancedPortals] (Enhanced Portals 3.0.6 - 1.7.10.jar) Unloaded->Constructed
enhancedspawners2{0.2} [enhancedspawners2] (Enhanced Spawners 2 1.6 - 1.7.10.jar) Unloaded->Constructed
Explodables{1.9} [Explodables] (Explodables 1.9 - 1.7.10.jar) Unloaded->Constructed
ExtraUtilities{1.1.0k} [Extra Utilities] (Extra Utilities 1.1.0-k - 1.7.10.jar) Unloaded->Constructed
farlanders{1.2b} [The Farlanders] (Farlanders 1.2-b - 1.7.10.jar) Unloaded->Constructed
FinderCompass{1.7.10} [Finder Compass] (Finder Compass - 1.7.10.jar) Unloaded->Constructed
fireplaces{V0.1 - 1.7.10} [Fireplaces] (Fireplaces 0.1 - 1.7.10.jar) Unloaded->Constructed
asielibcore{} [AsieLib CoreMod] (minecraft.jar) Unloaded->Disabled
Launched Version: 1.7.10-Forge10.13.1.1217
LWJGL: 2.9.1
OpenGL: Intel(R) HD Graphics 3000 GL version 3.1.0 - Build 9.17.10.3040, Intel
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)
I'll fix the code to create it auotmatically instead of crashing.
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
You have all you need in the original post =)
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
just having trouble making glass in Photoshop, any hints? specifically tinted glass, and when i do get it transparent you can see through the world...
thanks again.
You have to tell the block to be non-opaque (opaque=false)
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
block settings are: type-standard, material-glass (i've also tried ice), opaque-false, translucent-true
btw, great mod, i love being able to make these, so simple. great work and sorry for being a pain. just trying to walk myself through this. thanks for the help.
My bad, there is actually a bug : setting transluscent to true make it opaque regardless (should be the opposite). I'll try to make release to fix it as soon as possible.
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
I did copy over the ddpacks folder.
---- Minecraft Crash Report ----
// Ooh. Shiny.
Time: 11/11/14 8:03 PM
Description: Exception in server tick loop
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/malisis/ddb/renderer/StairsRenderer
at cpw.mods.fml.common.LoadController.transition(LoadController.java:162)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:692)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
Caused by: java.lang.NoClassDefFoundError: net/malisis/ddb/renderer/StairsRenderer
at net.malisis.ddb.DDB.init(DDB.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.malisis.ddb.renderer.StairsRenderer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 32 more
Caused by: java.lang.NoClassDefFoundError: net/malisis/core/renderer/BaseRenderer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
... 34 more
Caused by: java.lang.ClassNotFoundException: net.malisis.core.renderer.BaseRenderer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 38 more
Did you copy both DDB and MalisisCore in your mod folder ?
Mods for Minecraft :
MalisisDoors
MalisisBlocks
MalisisAdvert
MalisisSwitches
Do It Yourself Decorative Blocks
Forge 1231
DIY DIYDecorativeBlocks-1.7.10-1.1
MalisisCore malisiscore-1.7.10-0.9.9