pushing 1.11 and 1.10.2 changes

This commit is contained in:
kitsushadow
2016-12-11 13:13:25 -05:00
parent 101c28e7d4
commit e389a25900
107 changed files with 3441 additions and 33 deletions

View File

@@ -0,0 +1,12 @@
{
"variants": {
"active=false,facing=north": { "model": "forgecraft:firebox" },
"active=false,facing=east": { "model": "forgecraft:firebox", "y": 90 },
"active=false,facing=south": { "model": "forgecraft:firebox", "y": 180 },
"active=false,facing=west": { "model": "forgecraft:firebox", "y": 270 },
"active=true,facing=north": { "model": "forgecraft:firebox_lit" },
"active=true,facing=east": { "model": "forgecraft:firebox_lit", "y": 90 },
"active=true,facing=south": { "model": "forgecraft:firebox_lit", "y": 180 },
"active=true,facing=west": { "model": "forgecraft:firebox_lit", "y": 270 }
}
}

View File

@@ -0,0 +1,3 @@
item.test.name=test
tile.firebox.name=Firebox
itemGroup.forgecraft=ForgeCraft

View File

@@ -0,0 +1,239 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"parent": "block/block",
"textures": {
"texture": "forgecraft:blocks/checker_test",
"texture2": "forgecraft:blocks/firebox_racks",
"firebox_leg": "forgecraft:blocks/firebox_legs",
"texture4": "forgecraft:blocks/brick"
},
"elements": [
{
"__comment": "Back",
"from": [ 0, 8, 0 ],
"to": [ 16, 16, 2 ],
"faces": {
"down": { "uv": [ 0, 14.5, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"east": { "uv": [ 14, 0, 16, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Bot",
"from": [ 0, 5, 0 ],
"to": [ 16, 8, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"north": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"south": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"west": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"east": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideLeft",
"from": [ 0, 8, 2 ],
"to": [ 2, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideRight",
"from": [ 14, 8, 2 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front0",
"from": [ 2, 8, 14 ],
"to": [ 4, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front1",
"from": [ 12, 8, 14 ],
"to": [ 14, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front2",
"from": [ 4, 13, 14 ],
"to": [ 12, 16, 16 ],
"faces": {
"down": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"up": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"north": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"south": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"west": { "uv": [ 15, 0, 16, 4 ], "texture": "#texture" },
"east": { "uv": [ 0, 0, 1, 4 ], "texture": "#texture4" }
}
},
{
"__comment": "Holder0",
"from": [ 6.5, 15, 2 ],
"to": [ 7.3, 15.8, 14 ],
"rotation": { "origin": [ 6.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Leg0",
"from": [ 12, 0, 0 ],
"to": [ 16, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg1",
"from": [ 0, 0, 12 ],
"to": [ 4, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg2",
"from": [ 0, 0, 0 ],
"to": [ 4, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg3",
"from": [ 12, 0, 12 ],
"to": [ 16, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Holder1",
"from": [ 10.5, 15, 2 ],
"to": [ 11.3, 15.8, 14 ],
"rotation": { "origin": [ 10.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder2",
"from": [ 12.5, 15, 2 ],
"to": [ 13.3, 15.8, 14 ],
"rotation": { "origin": [ 12.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder3",
"from": [ 2.5, 15, 2 ],
"to": [ 3.3, 15.8, 14 ],
"rotation": { "origin": [ 2.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder4",
"from": [ 4.5, 15, 2 ],
"to": [ 5.3, 15.8, 14 ],
"rotation": { "origin": [ 4.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder5",
"from": [ 8.5, 15, 2 ],
"to": [ 9.3, 15.8, 14 ],
"rotation": { "origin": [ 8.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
}
]
}

View File

@@ -0,0 +1,240 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"parent": "forgecraft:block/firebox",
"textures": {
"texture": "forgecraft:blocks/checker_test",
"texture2": "forgecraft:blocks/firebox_racks",
"firebox_leg": "forgecraft:blocks/firebox_legs",
"texture4": "forgecraft:blocks/brick",
"texture4_lit": "forgecraft:blocks/brick_lit"
},
"elements": [
{
"__comment": "Back",
"from": [ 0, 8, 0 ],
"to": [ 16, 16, 2 ],
"faces": {
"down": { "uv": [ 0, 14.5, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4_lit" },
"west": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"east": { "uv": [ 14, 0, 16, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Bot",
"from": [ 0, 5, 0 ],
"to": [ 16, 8, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4_lit" },
"north": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"south": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"west": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"east": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideLeft",
"from": [ 0, 8, 2 ],
"to": [ 2, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4_lit" }
}
},
{
"__comment": "AirSideRight",
"from": [ 14, 8, 2 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4_lit" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front0",
"from": [ 2, 8, 14 ],
"to": [ 4, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4_lit" }
}
},
{
"__comment": "Front1",
"from": [ 12, 8, 14 ],
"to": [ 14, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4_lit" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front2",
"from": [ 4, 13, 14 ],
"to": [ 12, 16, 16 ],
"faces": {
"down": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4_lit" },
"up": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"north": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"south": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"west": { "uv": [ 15, 0, 16, 4 ], "texture": "#texture" },
"east": { "uv": [ 0, 0, 1, 4 ], "texture": "#texture4" }
}
},
{
"__comment": "Holder0",
"from": [ 6.5, 15, 2 ],
"to": [ 7.3, 15.8, 14 ],
"rotation": { "origin": [ 6.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Leg0",
"from": [ 12, 0, 0 ],
"to": [ 16, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg1",
"from": [ 0, 0, 12 ],
"to": [ 4, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg2",
"from": [ 0, 0, 0 ],
"to": [ 4, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg3",
"from": [ 12, 0, 12 ],
"to": [ 16, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Holder1",
"from": [ 10.5, 15, 2 ],
"to": [ 11.3, 15.8, 14 ],
"rotation": { "origin": [ 10.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder2",
"from": [ 12.5, 15, 2 ],
"to": [ 13.3, 15.8, 14 ],
"rotation": { "origin": [ 12.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder3",
"from": [ 2.5, 15, 2 ],
"to": [ 3.3, 15.8, 14 ],
"rotation": { "origin": [ 2.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder4",
"from": [ 4.5, 15, 2 ],
"to": [ 5.3, 15.8, 14 ],
"rotation": { "origin": [ 4.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder5",
"from": [ 8.5, 15, 2 ],
"to": [ 9.3, 15.8, 14 ],
"rotation": { "origin": [ 8.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
}
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "forgecraft:items/test"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "forgecraft:/block/firebox"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

View File

@@ -0,0 +1,14 @@
[{
"modid": "forgecraft",
"name": "Kitsu's Forgecraft",
"description": "Forged with sweat and blood",
"version": "1.0.0",
"mcversion": "1.10.2",
"url": "",
"updateUrl": "",
"authorList": ["KitsuShadow"],
"credits": "KitsuShadow, Fluid1C3, Ishvad, Sygmarr, An Sar",
"logoFile": "assets/forgecraft/textures/logo.png",
"screenshots": [],
"dependencies": []
}]

72
1.10.2/config/forge.cfg Normal file
View File

@@ -0,0 +1,72 @@
# Configuration file
client {
# Replace the vanilla bucket models with Forges own dynamic bucket model. Unifies bucket visuals if a mod uses the Forge bucket model.
B:replaceVanillaBucketModel=false
# The timestamp of the last reminder to update to Java 8 in number of milliseconds since January 1, 1970, 00:00:00 GMT. Nag will show only once every 24 hours. To disable it set this to some really high number.
D:java8Reminder=0.0
# Disable culling of hidden faces next to stairs and slabs. Causes extra rendering, but may fix some resource packs that exploit this vanilla mechanic.
B:disableStairSlabCulling=false
}
general {
# Set to true to disable Forge's version check mechanics. Forge queries a small json file on our server for version information. For more details see the ForgeVersion class in our github.
B:disableVersionCheck=false
# Controls the number threshold at which Packet51 is preferred over Packet52, default and minimum 64, maximum 1024
I:clumpingThreshold=64
# Set to true to enable the post initialization sorting of crafting recipes using Forge's sorter. May cause desyncing on conflicting recipes. MUST RESTART MINECRAFT IF CHANGED FROM THE CONFIG GUI.
B:sortRecipies=true
# Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
B:removeErroringEntities=false
# Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
B:removeErroringTileEntities=false
# Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false
B:fullBoundingBoxLadders=false
# Control the range of sky blending for colored skies in biomes.
I:biomeSkyBlendRange <
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
>
# Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic.
D:zombieBaseSummonChance=0.1
# Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic.
D:zombieBabyChance=0.05
# Enable the forge block rendering pipeline - fixes the lighting of custom models.
B:forgeLightPipelineEnabled=true
B:enableGlobalConfig=false
}
version_checking {
# Enable the entire mod update check system. This only applies to mods using the Forge system.
B:Global=true
}

View File

@@ -0,0 +1,47 @@
# Configuration file
##########################################################################################################
# Forge
#--------------------------------------------------------------------------------------------------------#
# Sample mod specific control section.
# Copy this section and rename the with the modid for the mod you wish to override.
# A value of zero in either entry effectively disables any chunkloading capabilities
# for that mod
##########################################################################################################
Forge {
# Maximum chunks per ticket for the mod.
I:maximumChunksPerTicket=25
# Maximum ticket count for the mod. Zero disables chunkloading capabilities.
I:maximumTicketCount=200
}
##########################################################################################################
# defaults
#--------------------------------------------------------------------------------------------------------#
# Default configuration for forge chunk loading control
##########################################################################################################
defaults {
# Are mod overrides enabled?
B:enabled=true
# The default maximum number of chunks a mod can force, per ticket,
# for a mod without an override. This is the maximum number of chunks a single ticket can force.
I:maximumChunksPerTicket=25
# The default maximum ticket count for a mod which does not have an override
# in this file. This is the number of chunk loading requests a mod is allowed to make.
I:maximumTicketCount=200
# The number of tickets a player can be assigned instead of a mod. This is shared across all mods and it is up to the mods to use it.
I:playerTicketCount=500
# Unloaded chunks can first be kept in a dormant cache for quicker
# loading times. Specify the size (in chunks) of that cache here
I:dormantChunkCacheSize=0
}

View File

@@ -0,0 +1,14 @@
#Splash screen properties
#Sun Dec 11 13:01:44 EST 2016
logoTexture=textures/gui/title/mojang.png
background=0xFFFFFF
font=0x0
barBackground=0xFFFFFF
barBorder=0xC0C0C0
rotate=false
bar=0xCB3D35
enabled=true
resourcePackPath=resources
logoOffset=0
forgeTexture=fml\:textures/gui/forge.gif
fontTexture=textures/font/ascii.png

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
[13:01:21] [main/INFO] [GradleStart]: Extra: []
[13:01:22] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/kitsu/.gradle/caches/minecraft/assets, --assetIndex, 1.10, --accessToken{REDACTED}, --version, 1.10.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[13:01:22] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[13:01:22] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[13:01:22] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[13:01:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker

117
1.10.2/logs/latest.log Normal file
View File

@@ -0,0 +1,117 @@
[13:01:33] [Client thread/INFO]: Setting user: Player249
[13:01:38] [Client thread/INFO]: LWJGL Version: 2.9.4
[13:01:50] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[13:02:43] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:122) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:484) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[13:02:43] [Sound Library Loader/INFO]: Starting up SoundSystem...
[13:02:44] [Thread-7/INFO]: Initializing LWJGL OpenAL
[13:02:44] [Thread-7/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[13:02:45] [Thread-7/INFO]: OpenAL initialized.
[13:02:45] [Sound Library Loader/INFO]: Sound engine started
[13:02:49] [Client thread/INFO]: Created: 16x16 textures-atlas
[13:02:51] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[13:02:55] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:799) [Minecraft.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:340) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:561) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[13:02:55] [Client thread/INFO]: SoundSystem shutting down...
[13:02:55] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[13:02:55] [Sound Library Loader/INFO]: Starting up SoundSystem...
[13:02:55] [Thread-9/INFO]: Initializing LWJGL OpenAL
[13:02:55] [Thread-9/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[13:02:55] [Thread-9/INFO]: OpenAL initialized.
[13:02:55] [Sound Library Loader/INFO]: Sound engine started
[13:03:00] [Client thread/INFO]: Created: 512x512 textures-atlas
[13:03:04] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[13:03:11] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[13:03:11] [Server thread/INFO]: Generating keypair
[13:03:12] [Server thread/INFO]: Preparing start region for level 0
[13:03:13] [Server thread/INFO]: Changing view distance to 12, from 10
[13:03:14] [Server thread/INFO]: Player249[local:E:f5847b71] logged in with entity id 0 at (-1197.5, 4.0, 574.5)
[13:03:14] [Server thread/INFO]: Player249 joined the game
[13:03:15] [Server thread/INFO]: Saving and pausing game...
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:15] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@25bca98e[id=77058a27-9ed9-3577-ba3a-f426b243548e,name=Player249,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:65) ~[YggdrasilAuthenticationService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:59) [YggdrasilMinecraftSessionService$1.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:56) [YggdrasilMinecraftSessionService$1.class:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:165) [YggdrasilMinecraftSessionService.class:?]
at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3060) [Minecraft.class:?]
at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:131) [SkinManager$3.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_102]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_102]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]
[13:03:19] [Server thread/INFO]: Player249 has just earned the achievement [Taking Inventory]
[13:03:19] [Client thread/INFO]: [CHAT] Player249 has just earned the achievement [Taking Inventory]
[13:03:30] [Server thread/INFO]: Saving and pausing game...
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:30] [Server thread/INFO]: Stopping server
[13:03:30] [Server thread/INFO]: Saving players
[13:03:30] [Server thread/INFO]: Saving worlds
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:32] [Client thread/INFO]: Stopping!
[13:03:32] [Client thread/INFO]: SoundSystem shutting down...
[13:03:33] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

100
1.10.2/options.txt Normal file
View File

@@ -0,0 +1,100 @@
version:512
invertYMouse:false
mouseSensitivity:0.5
fov:0.0
gamma:0.0
saturation:0.0
renderDistance:12
guiScale:0
particles:0
bobView:true
anaglyph3d:false
maxFps:120
fboEnable:true
difficulty:2
fancyGraphics:true
ao:2
renderClouds:true
resourcePacks:[]
incompatibleResourcePacks:[]
lastServer:
lang:en_US
chatVisibility:0
chatColors:true
chatLinks:true
chatLinksPrompt:true
chatOpacity:1.0
snooperEnabled:true
fullscreen:false
enableVsync:true
useVbo:true
hideServerAddress:false
advancedItemTooltips:false
pauseOnLostFocus:true
touchscreen:false
overrideWidth:0
overrideHeight:0
heldItemTooltips:true
chatHeightFocused:1.0
chatHeightUnfocused:0.44366196
chatScale:1.0
chatWidth:1.0
showInventoryAchievementHint:false
mipmapLevels:4
forceUnicodeFont:false
reducedDebugInfo:false
useNativeTransport:true
entityShadows:true
mainHand:right
attackIndicator:1
showSubtitles:false
realmsNotifications:true
enableWeakAttacks:false
autoJump:true
key_key.attack:-100
key_key.use:-99
key_key.forward:17
key_key.left:30
key_key.back:31
key_key.right:32
key_key.jump:57
key_key.sneak:42
key_key.sprint:29
key_key.drop:16
key_key.inventory:18
key_key.chat:20
key_key.playerlist:15
key_key.pickItem:-98
key_key.command:53
key_key.screenshot:60
key_key.togglePerspective:63
key_key.smoothCamera:0
key_key.fullscreen:87
key_key.spectatorOutlines:0
key_key.swapHands:33
key_key.hotbar.1:2
key_key.hotbar.2:3
key_key.hotbar.3:4
key_key.hotbar.4:5
key_key.hotbar.5:6
key_key.hotbar.6:7
key_key.hotbar.7:8
key_key.hotbar.8:9
key_key.hotbar.9:10
soundCategory_master:1.0
soundCategory_music:1.0
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0
soundCategory_hostile:1.0
soundCategory_neutral:1.0
soundCategory_player:1.0
soundCategory_ambient:1.0
soundCategory_voice:1.0
modelPart_cape:true
modelPart_jacket:true
modelPart_left_sleeve:true
modelPart_right_sleeve:true
modelPart_left_pants_leg:true
modelPart_right_pants_leg:true
modelPart_hat:true

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
{"stat.useItem.forgecraft.firebox":1,"stat.playOneMinute":300,"achievement.openInventory":2,"stat.useItem.minecraft.stone":1,"stat.leaveGame":1,"stat.timeSinceDeath":300,"achievement.exploreAllBiomes":{"value":0,"progress":["Plains"]}}

View File

@@ -266,7 +266,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
if (stack.hasDisplayName()){ if (stack.hasDisplayName()){
((TileFirebox) world.getTileEntity(pos)).setCustomName(stack.getDisplayName()); ((TileFirebox) world.getTileEntity(pos)).setCustomName(stack.getDisplayName());
} }
System.out.println(state.getBlock().getMetaFromState(state)); //System.out.println(state.getBlock().getMetaFromState(state));
} }
@Override @Override

1
1.10.2/usercache.json Normal file
View File

@@ -0,0 +1 @@
[{"name":"Player249","uuid":"77058a27-9ed9-3577-ba3a-f426b243548e","expiresOn":"2017-01-11 13:03:14 -0500"}]

View File

@@ -0,0 +1,3 @@
{
"77058a27-9ed9-3577-ba3a-f426b243548e": "Player249"
}

View File

@@ -1,20 +0,0 @@
package com.example.examplemod;
import net.minecraft.init.Blocks;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
public static final String MODID = "examplemod";
public static final String VERSION = "1.0";
@EventHandler
public void init(FMLInitializationEvent event)
{
// some example code
System.out.println("DIRT BLOCK >> "+Blocks.DIRT.getUnlocalizedName());
}
}

View File

@@ -0,0 +1,41 @@
package nmd.primal.forgecraft;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.*;
import net.minecraftforge.fml.common.registry.GameRegistry;
/**
* Created by kitsu on 11/23/2016.
*/
public class CommonUtils {
public static int getVanillaItemBurnTime(ItemStack stack)
{
if (stack == null)
{
return 0;
}
Item item = stack.getItem();
if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.AIR)
{
Block block = Block.getBlockFromItem(item);
if (block == Blocks.WOODEN_SLAB) return 150;
if (block.getDefaultState().getMaterial() == Material.WOOD) return 300;
if (block == Blocks.COAL_BLOCK) return 16000;
}
if (item instanceof ItemTool && ((ItemTool)item).getToolMaterialName().equals("WOOD")) return 200;
if (item instanceof ItemSword && ((ItemSword)item).getToolMaterialName().equals("WOOD")) return 200;
if (item instanceof ItemHoe && ((ItemHoe)item).getMaterialName().equals("WOOD")) return 200;
if(item == Items.STICK) return 100;
if(item == Items.COAL) return 1600;
if (item == Item.getItemFromBlock(Blocks.SAPLING)) return 100;
if (item == Items.BLAZE_ROD) return 2400;
if (item == Items.BLAZE_POWDER) return 800;
return GameRegistry.getFuelValue(stack);
}
}

View File

@@ -0,0 +1,71 @@
package nmd.primal.forgecraft;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModCrafting;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.init.ModTiles;
import nmd.primal.forgecraft.proxy.CommonProxy;
//import nmd.primal.forgecraft.common.init.*;
import java.util.Locale;
@Mod( modid = ModInfo.MOD_ID,
name = ModInfo.MOD_NAME,
version = ModInfo.MOD_VERSION,
acceptedMinecraftVersions = ModInfo.MC_VERSIONS
//dependencies = ModInfo.DEPENDENCIES,
//guiFactory = ModInfo.GUI_FACTORY,
//updateJSON = ModInfo.UPDATE_JSON
)
public class ForgeCraft
{
@Instance
public static ForgeCraft instance;
@SidedProxy(clientSide = ModInfo.CLIENT_PROXY, serverSide = ModInfo.SERVER_PROXY)
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
ModItems.init();
ModBlocks.init();
ModItems.register();
ModBlocks.register();
ModTiles.registerTileEntities();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
//this.proxy.init(event);
proxy.init();
ModCrafting.register();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
//this.proxy.postInit(event);
}
/*@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
//event.registerServerCommand(new PrimalCommand());
}
//public File getConfigDirectory()
//{
// return CONFIG_DIRECTORY;
//}
*/
}

View File

@@ -0,0 +1,81 @@
package nmd.primal.forgecraft;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.fml.client.config.GuiConfigEntries;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModItems;
//import nmd.primal.forgecraft.Item.ModItems;
/**
* Created by kitsu on 11/24/2016.
*/
public class ModInfo {
/** Mod Details**/
//public static final String DEPENDENCIES = "after:primal;";
public static final String MOD_ID = "forgecraft";
public static final String MOD_NAME = "Kitsu's ForgeCraft";
//public static final String MOD_PREFIX = MOD_ID + ":";
//public static final String MOD_CHANNEL = MOD_ID;
public static final String MOD_VERSION = "1.0.1";
public static final String MC_VERSIONS = "[1.9.4, 1.11.0)";
/** Mod Structures **/
public static final String SERVER_PROXY = "nmd.primal.forgecraft.proxy.ServerProxy";
public static final String CLIENT_PROXY = "nmd.primal.forgecraft.proxy.ClientProxy";
//public static final String GUI_FACTORY = "nmd.primal.forgecraft.gui.GuiFactory";
//public static final String UPDATE_JSON = "";
public enum ForgecraftItems {
TEST("test", "ItemTest");
private String unlocalizedName;
private String registryName;
ForgecraftItems(String unlocalizedName, String registryName) {
this.unlocalizedName = unlocalizedName;
this.registryName = registryName;
}
public String getUnlocalizedName() {
return unlocalizedName;
}
public String getRegistryName() {
return registryName;
}
}
public enum ForgecraftBlocks {
FIREBOX("firebox", "firebox");
private String unlocalizedName;
private String registryName;
ForgecraftBlocks(String unlocalizedName, String registryName) {
this.unlocalizedName = unlocalizedName;
this.registryName = registryName;
}
public String getUnlocalizedName() {
return unlocalizedName;
}
public String getRegistryName() {
return registryName;
}
}
/** Creative Tabs **/
public static CreativeTabs TAB_FORGECRAFT = new CreativeTabs(MOD_ID)
{
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem() {
return Item.getItemFromBlock(ModBlocks.firebox);
}
};
}

View File

@@ -0,0 +1,25 @@
package nmd.primal.forgecraft.blocks;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.util.EnumFacing;
/**
* Created by kitsu on 12/3/2016.
*/
public abstract class CustomContainerFacing extends BlockContainer {
public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
protected CustomContainerFacing(Material material)
{
super(material);
}
protected CustomContainerFacing(Material material, MapColor color)
{
super(material, color);
}
}

View File

@@ -0,0 +1,403 @@
package nmd.primal.forgecraft.blocks;
import akka.actor.SystemGuardian;
import akka.actor.dsl.Creators;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.forgecraft.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.tiles.TileFirebox;
import javax.annotation.Nullable;
import static net.minecraft.block.BlockHorizontal.FACING;
/**
* Created by kitsu on 11/26/2016.
*/
public class Firebox extends CustomContainerFacing implements ITileEntityProvider {
public static final PropertyBool ACTIVE = PropertyBool.create("active");
public Firebox(Material material) {
super(material);
setUnlocalizedName(ModInfo.ForgecraftBlocks.FIREBOX.getUnlocalizedName());
setRegistryName(ModInfo.ForgecraftBlocks.FIREBOX.getRegistryName());
setCreativeTab(ModInfo.TAB_FORGECRAFT);
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, Boolean.valueOf(false)));
setHardness(3.0f);
}
@Override
public TileEntity createNewTileEntity(World worldIn, int meta)
{
return new TileFirebox();
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
if (tile != null)
{
ItemStack playerStack = player.getHeldItemMainhand();
Item playerItem;
ItemStack tileStack = tile.getStackInSlot(0);
if(playerStack != null){
playerItem = playerStack.getItem();
if (playerItem.equals(Items.FLINT_AND_STEEL) || playerItem.equals(Item.getItemFromBlock(Blocks.TORCH))) {
if (CommonUtils.getVanillaItemBurnTime(tileStack) > 0) {
world.setBlockState(pos, state.withProperty(ACTIVE, true), 2);
BlockPos tempPos = new BlockPos(pos.getX(), pos.getY()+1, pos.getZ());
if(world.getBlockState(tempPos).getBlock().equals(Blocks.AIR)){
world.setBlockState(tempPos, Blocks.FIRE.getDefaultState(), 2);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
if(playerItem.equals(Items.FLINT_AND_STEEL)){
player.inventory.getCurrentItem().damageItem(1, player);
}
}
}
if(tile.getStackInSlot(0)!=null){
if(CommonUtils.getVanillaItemBurnTime(playerStack) > 0) {
if (tileStack.getItem() == playerItem && tileStack.getItemDamage() == playerStack.getItemDamage()) {
//tile.setInventorySlotContents(0, playerStack);
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.stackSize + 1, tileStack.getItemDamage());
if(tileStack.stackSize < 64) {
tile.setInventorySlotContents(0, tempStack);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
//player.setHeldItem(EnumHand.MAIN_HAND, null);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
}
if(tile.getStackInSlot(0)==null){
if(CommonUtils.getVanillaItemBurnTime(playerStack) > 0) {
if (playerItem != Items.FLINT_AND_STEEL || playerItem != Item.getItemFromBlock(Blocks.TORCH)) {
tile.setInventorySlotContents(0, playerStack);
player.setHeldItem(EnumHand.MAIN_HAND, null);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
}
if(tileStack != null && playerStack == null && player.isSneaking()){
if(state.getValue(ACTIVE)==true){
world.setBlockState(pos, state.withProperty(ACTIVE, false), 2);
ItemStack returnStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1);
player.setHeldItem(EnumHand.MAIN_HAND, returnStack);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
} else {
player.setHeldItem(EnumHand.MAIN_HAND, tileStack);
tile.setInventorySlotContents(0, null);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
if(!player.isSneaking()){
if(playerStack == null) {
if (tileStack != null) {
ItemStack tempStack1 = new ItemStack(tileStack.getItem(), 1, tileStack.getItemDamage());
ItemStack resetStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1, tileStack.getItemDamage());
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setInventorySlotContents(0,resetStack);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
}
}
return true;
}
public void onBlockClicked(World world, BlockPos pos, EntityPlayer player) {
/*if(!world.isRemote){
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
IBlockState state = world.getBlockState(pos);
if (tile != null) {
ItemStack playerStack = player.getHeldItemMainhand();
Item playerItem;
ItemStack tileStack = tile.getStackInSlot(0);
if (!player.isSneaking()) {
if( tileStack !=null) {
if (playerStack == null) {
ItemStack tempStack1 = tileStack;
ItemStack tempStack2 = tileStack;
tempStack1.stackSize = 1;
tempStack2.stackSize = tileStack.stackSize - 1;
System.out.println(tileStack.stackSize + "|" + "|" + tempStack2.stackSize);
//int tileSize = tile.decrStackSize()
//ItemStack tempReset = new ItemStack(tileStack.getItem(), tileSize - 1, tileStack.getItemDamage());
//System.out.println(tileSize + "|" + tempReset.stackSize);
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setInventorySlotContents(0, tempStack2);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN THE WHOLE STACK
if (playerStack == null && player.isSneaking()) {
if (tileStack != null) {
if(state.getValue(ACTIVE)) {
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1, tileStack.getItemDamage());
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
} else {
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tileStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN 1
}
}*/
}
@Override
public int getLightValue(IBlockState state, IBlockAccess world, BlockPos pos)
{
if(state.getValue(ACTIVE) == true){
return 15;
}
return 0;
}
public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face)
{
return 0;
}
public boolean isFlammable(IBlockAccess world, BlockPos pos, EnumFacing face)
{
return true;
}
@Override
public boolean isFireSource(World world, BlockPos pos, EnumFacing side)
{
if (side == EnumFacing.UP)
{
if(!world.isRemote){
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
if(tile.getStackInSlot(0) != null){
if(world.getBlockState(pos).getValue(ACTIVE)==true){
return true;
}
}
}
}
return false;
}
/**
* Called serverside after this block is replaced with another in Chunk, but before the Tile Entity is updated
*/
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
if (!worldIn.isRemote && worldIn.getGameRules().getBoolean("doTileDrops"))
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileFirebox)
{
InventoryHelper.dropInventoryItems(worldIn, pos, (TileFirebox)tileentity);
worldIn.updateComparatorOutputLevel(pos, this);
}
}
super.breakBlock(worldIn, pos, state);
}
@Override
public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
IBlockState state = super.onBlockPlaced(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer);
return state.withProperty(FACING, placer.getHorizontalFacing()).withProperty(ACTIVE, Boolean.valueOf(false));
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack){
if (stack.hasDisplayName()){
((TileFirebox) world.getTileEntity(pos)).setCustomName(stack.getDisplayName());
}
System.out.println(state.getBlock().getMetaFromState(state));
}
@Override
public int getMetaFromState(IBlockState state) {
int i = 0;
if( (state.getValue(FACING) == EnumFacing.EAST) && state.getValue(ACTIVE) == false){
i = 0;
return i;
}
if( (state.getValue(FACING) == EnumFacing.WEST) && state.getValue(ACTIVE) == false){
i = 1;
return i;
}
if( (state.getValue(FACING) == EnumFacing.SOUTH) && state.getValue(ACTIVE) == false){
i = 2;
return i;
}
if( (state.getValue(FACING) == EnumFacing.NORTH) && state.getValue(ACTIVE) == false){
i = 3;
return i;
}
if( (state.getValue(FACING) == EnumFacing.EAST) && state.getValue(ACTIVE) == true){
i = 4;
return i;
}
if( (state.getValue(FACING) == EnumFacing.WEST) && state.getValue(ACTIVE) == true){
i = 5;
return i;
}
if( (state.getValue(FACING) == EnumFacing.SOUTH) && state.getValue(ACTIVE) == true){
i = 6;
return i;
}
if( (state.getValue(FACING) == EnumFacing.NORTH) && state.getValue(ACTIVE) == true){
i = 7;
return i;
}
return i;
}
@Override
public IBlockState getStateFromMeta(int meta) {
EnumFacing enumfacing;
Boolean active;
switch (meta & 7)
{
case 0:
enumfacing = EnumFacing.EAST;
active = false;
break;
case 1:
enumfacing = EnumFacing.WEST;
active = false;
break;
case 2:
enumfacing = EnumFacing.SOUTH;
active = false;
break;
case 3:
enumfacing = EnumFacing.NORTH;
active = false;
break;
case 4:
enumfacing = EnumFacing.EAST;
active = true;
break;
case 5:
enumfacing = EnumFacing.WEST;
active = true;
break;
case 6:
enumfacing = EnumFacing.SOUTH;
active = true;
break;
case 7:
enumfacing = EnumFacing.NORTH;
active = true;
break;
default:
enumfacing = EnumFacing.NORTH;
active = false;
}
return this.getDefaultState().withProperty(FACING, enumfacing).withProperty(ACTIVE, Boolean.valueOf(active));
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[] {FACING, ACTIVE});
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
public boolean isFullyOpaque(IBlockState state)
{
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
return true;
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.MODEL;
}
}
/*
Firebox States
Off
On
*/

View File

@@ -0,0 +1,28 @@
package nmd.primal.forgecraft.compat;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.IFuelHandler;
import java.util.Map;
/**
* Created by kitsu on 12/3/2016.
*/
//public class FuelHandler implements IFuelHandler {
/*@Override
public int getBurnTime(ItemStack fuelStack)
{
//if (ModConfig.FEATURE_ENABLE_FUELS) {
//CommonUtils.debugLogger(2, "fuel", "size: " + ModRegistries.FUEL_REGISTRY.size() + ", value: " + ModRegistries.FUEL_REGISTRY.get(fuelStack));
for (Map.Entry<ItemStack, Integer> entry : ForgeCraftRegistries.FUEL_REGISTRY.entrySet())
{
if (entry.getKey().isItemEqual(fuelStack))
return entry.getValue();
}
//}
return 0;
}*/
//}

View File

@@ -0,0 +1,46 @@
package nmd.primal.forgecraft.init;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;
import nmd.primal.forgecraft.blocks.Firebox;
/**
* Created by kitsu on 11/26/2016.
*/
public class ModBlocks {
public static Block firebox;
public static void init() {
firebox = new Firebox(Material.ROCK);
}
public static void register() {
registerBlock(firebox);
}
public static void registerRenders() {
registerRender(firebox);
}
private static void registerBlock(Block block) {
GameRegistry.register(block);
ItemBlock item = new ItemBlock(block);
item.setRegistryName(block.getRegistryName());
GameRegistry.register(item);
}
private static void registerRender(Block block) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory"));
}
}

View File

@@ -0,0 +1,17 @@
package nmd.primal.forgecraft.init;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
/**
* Created by kitsu on 11/30/2016.
*/
public class ModCrafting {
public static void register() {
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.firebox), "X X", "XYX", "X X", 'X', Items.BRICK, 'Y', Blocks.FURNACE);
}
}

View File

@@ -0,0 +1,38 @@
package nmd.primal.forgecraft.init;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
import nmd.primal.forgecraft.items.ItemTest;
/**
* Created by kitsu on 11/26/2016.
*/
public class ModItems {
public static Item test;
//public static Item cheese;
public static void init() {
//test = new ItemTest();
//cheese = new ItemCheese();
}
public static void register() {
//GameRegistry.register(test);
//GameRegistry.register(cheese);
}
public static void registerRenders() {
//registerRender(cheese);
//registerRender(test);
}
private static void registerRender(Item item) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}

View File

@@ -0,0 +1,19 @@
package nmd.primal.forgecraft.init;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
/**
* Created by kitsu on 12/3/2016.
*/
public class ModRegistries {
public static void registerFuels()
{
//if (ModConfig.FEATURE_ENABLE_FUELS)
//{
}
}

View File

@@ -0,0 +1,20 @@
package nmd.primal.forgecraft.init;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityNote;
import net.minecraftforge.fml.common.registry.GameRegistry;
import nmd.primal.forgecraft.tiles.TileFirebox;
/**
* Created by kitsu on 12/2/2016.
*/
public class ModTiles {
public static void registerTileEntities () {
registerTileEntity(TileFirebox.class, "firebox");
}
private static void registerTileEntity(Class<? extends TileEntity> tile_class, String baseName) {
GameRegistry.registerTileEntity(tile_class, "tile.forgecraft." + baseName);
}
}

View File

@@ -0,0 +1,26 @@
package nmd.primal.forgecraft.items;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import nmd.primal.forgecraft.ModInfo;
/**
* Created by kitsu on 11/26/2016.
*/
public class BaseItem extends Item
{
public BaseItem()
{
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
}
public String getName() {
return this.getRegistryName().toString();
}
public static boolean isHidden()
{
return false;
}
}

View File

@@ -0,0 +1,19 @@
package nmd.primal.forgecraft.items;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.Mod;
import nmd.primal.forgecraft.ModInfo;
/**
* Created by kitsu on 11/26/2016.
*/
public class ItemTest extends BaseItem {
public ItemTest() {
setUnlocalizedName(ModInfo.ForgecraftItems.TEST.getUnlocalizedName());
setRegistryName(ModInfo.ForgecraftItems.TEST.getRegistryName());
}
}

View File

@@ -0,0 +1,31 @@
package nmd.primal.forgecraft.proxy;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.renders.TileFireboxRender;
import nmd.primal.forgecraft.tiles.TileFirebox;
import static nmd.primal.forgecraft.init.ModItems.*;
/**
* Created by kitsu on 11/26/2016.
*/
public class ClientProxy implements CommonProxy {
@Override
public void init() {
ModItems.registerRenders();
ModBlocks.registerRenders();
this.registerTileRendering();
}
//@Override
public void registerTileRendering()
{
ClientRegistry.bindTileEntitySpecialRenderer(TileFirebox.class, new TileFireboxRender());
}
}

View File

@@ -0,0 +1,10 @@
package nmd.primal.forgecraft.proxy;
/**
* Created by kitsu on 11/26/2016.
*/
public interface CommonProxy {
public void init();
}

View File

@@ -0,0 +1,12 @@
package nmd.primal.forgecraft.proxy;
/**
* Created by kitsu on 11/26/2016.
*/
public class ServerProxy implements CommonProxy {
@Override
public void init() {
}
}

View File

@@ -0,0 +1,121 @@
package nmd.primal.forgecraft.renders;
import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Items;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.blocks.Firebox;
import nmd.primal.forgecraft.tiles.TileFirebox;
import org.lwjgl.opengl.GL11;
/**
* Created by kitsu on 12/4/2016.
*/
public class TileFireboxRender extends TileEntitySpecialRenderer<TileFirebox>
{
private final RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
private int rotation;
private float translateX, translateZ;
private double textX, textZ;
private EntityItem entItem = null;
@Override
public void renderTileEntityAt(TileFirebox tile, double x, double y, double z, float partialTicks, int destroyStage) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y + 0.875D, z + 0.5D);
GL11.glScalef(0.25F, 0.25F, 0.25F);
World world = tile.getWorld();
IBlockState state = world.getBlockState(tile.getPos());
switch(state.getValue(BlockHorizontal.FACING))
{
case NORTH:
rotation = 0;
//Left and Right
translateX = 1.5f;
//Back and Forth
translateZ = 1.05f;
break;
case EAST:
rotation = 3;
translateZ = 1.0f;
translateX = 1.4f;
break;
case SOUTH:
rotation = 2;
//Left and Right
translateX = 1.5f;
//Back and Forth
translateZ = 0.9f;
break;
case WEST:
rotation = 1;
//Back and Forth
translateX = 1.5f;
//Left and Right
translateZ = 1.0f;
break;
}
GL11.glTranslatef(-1.5F, -0.0F, -1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
float prevLGTX = OpenGlHelper.lastBrightnessX;
float prevLGTY = OpenGlHelper.lastBrightnessY;
BlockPos pos = tile.getPos();
int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
ItemStack stack = tile.getStackInSlot(0);
if (stack != null) {
boolean is_block = stack.getItem() instanceof ItemBlock;
float height = -0.75f;
float scale = is_block ? 0.9F : 1.6F;
int stackSize = stack.stackSize;
GL11.glPushMatrix();
GL11.glTranslatef(translateX, height, translateZ);
GL11.glScalef(scale, scale, scale);
GL11.glRotatef(90.0F * rotation, 0.0F, 1.0F, 0.0F);
Integer temp = tile.getStackInSlot(0).stackSize;
renderItem.renderItem(stack, renderItem.getItemModelMesher().getItemModel(stack));
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
//float scale = is_block ? 0.9F : 1.6F;
if(is_block){
GL11.glScalef(0.08F,0.08F, 0.08f);
textZ = -23.0D;
} else {
GL11.glScalef(0.05F,0.05F, 0.05f);
textZ = -22.0D;
}
GL11.glTranslatef(0.0F, 2.0f, 0.0F);
GL11.glTranslated(0.0F, 0.0D, textZ);
getFontRenderer().drawString(temp.toString(), 0, 0, 4210752);
GL11.glPopMatrix();
}
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
GL11.glPopMatrix();
}
}

View File

@@ -0,0 +1,47 @@
package nmd.primal.forgecraft.tiles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
/**
* Created by kitsu on 12/3/2016.
*/
public abstract class BaseTile extends TileEntity{
@Override
public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newSate)
{
return oldState.getBlock() != newSate.getBlock();
}
@Override
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
this.readNBT(nbt);
}
@Override
public NBTTagCompound writeToNBT(NBTTagCompound nbt)
{
nbt = super.writeToNBT(nbt);
return this.writeNBT(nbt);
}
public NBTTagCompound readNBT(NBTTagCompound nbt)
{
// Override in lower tile classes
return nbt;
}
public NBTTagCompound writeNBT(NBTTagCompound nbt)
{
// Override in lower tile classes
return nbt;
}
}

View File

@@ -0,0 +1,291 @@
package nmd.primal.forgecraft.tiles;
import com.sun.org.apache.xpath.internal.operations.Bool;
import net.minecraft.block.Block;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants;
import nmd.primal.forgecraft.CommonUtils;
import nmd.primal.forgecraft.blocks.Firebox;
import nmd.primal.forgecraft.init.ModBlocks;
import org.omg.PortableInterceptor.ACTIVE;
import net.minecraft.block.BlockFurnace;
import static net.minecraft.block.BlockHorizontal.FACING;
import static nmd.primal.forgecraft.CommonUtils.getVanillaItemBurnTime;
/**
* Created by mminaie on 11/30/16.
*/
public class TileFirebox extends BaseTile implements IInventory, ITickable {
private ItemStack[] inventory = new ItemStack [0];
private String customName;
private int iteration = 0;
public TileFirebox() {
this.inventory = new ItemStack[this.getSizeInventory()];
}
@Override
public void update () {
if(!worldObj.isRemote){
World world = this.getWorld();
this.iteration ++;
if(this.iteration == 200 ) {
//System.out.println(iteration);
this.iteration = 0;
IBlockState state = world.getBlockState(this.pos);
BlockPos abovePos = new BlockPos(this.getPos().getX(), this.getPos().getY()+1, this.getPos().getZ());
IBlockState aboveState = world.getBlockState(abovePos);
if (worldObj.getBlockState(this.getPos()).getValue(Firebox.ACTIVE)) {
if (this.getStackInSlot(0) == null) {
worldObj.setBlockState(this.getPos(), state.withProperty(Firebox.ACTIVE, false), 2);
this.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
} else {
if(this.getStackInSlot(0) != null) {
if (worldObj.rand.nextInt((int) Math.floor(getVanillaItemBurnTime(this.getStackInSlot(0)) / 20)) == 0) {
this.decrStackSize(0, 1);
this.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
if(world.getBlockState(abovePos).getBlock() instanceof BlockFurnace){
//System.out.println("Trying to set Block Furnace State active");
IBlockState iblockstate = world.getBlockState(abovePos);
TileEntityFurnace tileFurnace = (TileEntityFurnace) world.getTileEntity(abovePos);
if(world.getBlockState(abovePos).getBlock() == Blocks.LIT_FURNACE){
tileFurnace.setField(0,1000);
}
if(world.getBlockState(abovePos).getBlock() == Blocks.FURNACE){
BlockFurnace.setState(true, world, abovePos);
//world.setBlockState(abovePos, Blocks.LIT_FURNACE.getDefaultState().withProperty(FACING, iblockstate.getValue(FACING)), 3);
tileFurnace.setField(0,1000);
}
}
}
}
}
}
}
/*if (worldObj.isRemote){
World world = this.getWorld();
if(this.getStackInSlot(0)!=null){
renderItem = new EntityItem(world, this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), this.getStackInSlot(0));
}
}*/
}
public String getCustomName() {
return customName;
}
public void setCustomName (String customName){
this.customName = customName;
}
@Override
public String getName(){
//if custName is true return this.customName if false return --v
// ? means if true : means if false
return this.hasCustomName() ? this.customName : "container.firebox";
}
@Override
public boolean hasCustomName() {
return this.customName != null && !this.customName.equals("");
}
public int getSizeInventory() {
return 1;
}
@Override
public ItemStack getStackInSlot(int index) {
if (index < 0 || index >= this.getSizeInventory())
return null;
return this.inventory[index];
}
@Override
public ItemStack decrStackSize(int index, int count) {
if (this.getStackInSlot(index) != null) {
ItemStack itemstack;
if (this.getStackInSlot(index).stackSize <= count) {
itemstack = this.getStackInSlot(index);
this.setInventorySlotContents(index, null);
this.markDirty();
return itemstack;
} else {
itemstack = this.getStackInSlot(index).splitStack(count);
if (this.getStackInSlot(index).stackSize <= 0) {
this.setInventorySlotContents(index, null);
} else {
//Just to show that changes happened
this.setInventorySlotContents(index, this.getStackInSlot(index));
}
this.markDirty();
return itemstack;
}
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int index, ItemStack stack) {
if (index < 0 || index >= this.getSizeInventory()) {
return;
}
if (stack != null && stack.stackSize > this.getInventoryStackLimit()) {
stack.stackSize = this.getInventoryStackLimit();
}
if (stack != null && stack.stackSize == 0) {
stack = null;
}
this.inventory[index] = stack;
this.markDirty();
World world = this.getWorld();
IBlockState state = world.getBlockState(this.pos);
world.notifyBlockUpdate(this.pos, state, state, 3);
}
@Override
public ItemStack removeStackFromSlot(int index) {
ItemStack stack = this.getStackInSlot(index);
this.setInventorySlotContents(index, null);
return stack;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player){
return this.worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.pos.add(0.5, 0.5, 0.5f)) <= 64;
}
@Override
public void openInventory(EntityPlayer player) {
}
public void closeInventory(EntityPlayer player){
}
@Override
public boolean isItemValidForSlot(int index, ItemStack stack) {
return true;
}
public int getField(int id) {
return 0;
}
@Override
public void setField(int id, int value) {
}
@Override
public int getFieldCount() {
return 0;
}
@Override
public void clear() {
for(int i = 0; i < this.getSizeInventory(); i++){
this.setInventorySlotContents(i, null);
}
}
// ***************************************************************************** //
// NBT
// ***************************************************************************** //
@Override
public NBTTagCompound readNBT(NBTTagCompound nbt)
{
NBTTagList list = nbt.getTagList("Items", Constants.NBT.TAG_COMPOUND);
inventory = new ItemStack[this.getSizeInventory()];
for (int i = 0; i < list.tagCount(); ++i)
{
NBTTagCompound tag = list.getCompoundTagAt(i);
this.inventory[tag.getByte("slot")] = ItemStack.loadItemStackFromNBT(tag);
}
if (nbt.hasKey("CustomName", 8)) {
this.setCustomName(nbt.getString("CustomName"));
}
return nbt;
}
@Override
public NBTTagCompound writeNBT(NBTTagCompound nbt)
{
NBTTagList list = new NBTTagList();
///
// RackMatrix
///
for (int i = 0; i < this.getSizeInventory(); ++i)
{
if (inventory[i] != null) {
NBTTagCompound tag = new NBTTagCompound();
tag.setByte("slot", (byte) i);
inventory[i].writeToNBT(tag);
list.appendTag(tag);
}
}
nbt.setTag("Items", list);
return nbt;
}
@Override
public NBTTagCompound getUpdateTag()
{
return writeToNBT(new NBTTagCompound());
}
@Override
public SPacketUpdateTileEntity getUpdatePacket() {
return new SPacketUpdateTileEntity(this.pos, 0, this.writeToNBT(new NBTTagCompound()));
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) {
this.readFromNBT(packet.getNbtCompound());
}
}

View File

@@ -0,0 +1,12 @@
{
"variants": {
"active=false,facing=north": { "model": "forgecraft:firebox" },
"active=false,facing=east": { "model": "forgecraft:firebox", "y": 90 },
"active=false,facing=south": { "model": "forgecraft:firebox", "y": 180 },
"active=false,facing=west": { "model": "forgecraft:firebox", "y": 270 },
"active=true,facing=north": { "model": "forgecraft:firebox_lit" },
"active=true,facing=east": { "model": "forgecraft:firebox_lit", "y": 90 },
"active=true,facing=south": { "model": "forgecraft:firebox_lit", "y": 180 },
"active=true,facing=west": { "model": "forgecraft:firebox_lit", "y": 270 }
}
}

View File

@@ -0,0 +1,3 @@
item.test.name=test
tile.firebox.name=Firebox
itemGroup.forgecraft=ForgeCraft

View File

@@ -0,0 +1,239 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"parent": "block/block",
"textures": {
"texture": "forgecraft:blocks/checker_test",
"texture2": "forgecraft:blocks/firebox_racks",
"firebox_leg": "forgecraft:blocks/firebox_legs",
"texture4": "forgecraft:blocks/brick"
},
"elements": [
{
"__comment": "Back",
"from": [ 0, 8, 0 ],
"to": [ 16, 16, 2 ],
"faces": {
"down": { "uv": [ 0, 14.5, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"east": { "uv": [ 14, 0, 16, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Bot",
"from": [ 0, 5, 0 ],
"to": [ 16, 8, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"north": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"south": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"west": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"east": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideLeft",
"from": [ 0, 8, 2 ],
"to": [ 2, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideRight",
"from": [ 14, 8, 2 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front0",
"from": [ 2, 8, 14 ],
"to": [ 4, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front1",
"from": [ 12, 8, 14 ],
"to": [ 14, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front2",
"from": [ 4, 13, 14 ],
"to": [ 12, 16, 16 ],
"faces": {
"down": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"up": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"north": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"south": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"west": { "uv": [ 15, 0, 16, 4 ], "texture": "#texture" },
"east": { "uv": [ 0, 0, 1, 4 ], "texture": "#texture4" }
}
},
{
"__comment": "Holder0",
"from": [ 6.5, 15, 2 ],
"to": [ 7.3, 15.8, 14 ],
"rotation": { "origin": [ 6.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Leg0",
"from": [ 12, 0, 0 ],
"to": [ 16, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg1",
"from": [ 0, 0, 12 ],
"to": [ 4, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg2",
"from": [ 0, 0, 0 ],
"to": [ 4, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg3",
"from": [ 12, 0, 12 ],
"to": [ 16, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Holder1",
"from": [ 10.5, 15, 2 ],
"to": [ 11.3, 15.8, 14 ],
"rotation": { "origin": [ 10.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder2",
"from": [ 12.5, 15, 2 ],
"to": [ 13.3, 15.8, 14 ],
"rotation": { "origin": [ 12.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder3",
"from": [ 2.5, 15, 2 ],
"to": [ 3.3, 15.8, 14 ],
"rotation": { "origin": [ 2.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder4",
"from": [ 4.5, 15, 2 ],
"to": [ 5.3, 15.8, 14 ],
"rotation": { "origin": [ 4.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder5",
"from": [ 8.5, 15, 2 ],
"to": [ 9.3, 15.8, 14 ],
"rotation": { "origin": [ 8.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
}
]
}

View File

@@ -0,0 +1,240 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"parent": "forgecraft:block/firebox",
"textures": {
"texture": "forgecraft:blocks/checker_test",
"texture2": "forgecraft:blocks/firebox_racks",
"firebox_leg": "forgecraft:blocks/firebox_legs",
"texture4": "forgecraft:blocks/brick",
"texture4_lit": "forgecraft:blocks/brick_lit"
},
"elements": [
{
"__comment": "Back",
"from": [ 0, 8, 0 ],
"to": [ 16, 16, 2 ],
"faces": {
"down": { "uv": [ 0, 14.5, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture4_lit" },
"west": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"east": { "uv": [ 14, 0, 16, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Bot",
"from": [ 0, 5, 0 ],
"to": [ 16, 8, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture4_lit" },
"north": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"south": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"west": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" },
"east": { "uv": [ 0, 8, 16, 11 ], "texture": "#texture4" }
}
},
{
"__comment": "AirSideLeft",
"from": [ 0, 8, 2 ],
"to": [ 2, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4_lit" }
}
},
{
"__comment": "AirSideRight",
"from": [ 14, 8, 2 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture4" },
"up": { "uv": [ 0, 0, 2, 15 ], "texture": "#texture4" },
"north": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"south": { "uv": [ 0, 0, 2, 8 ], "texture": "#texture4" },
"west": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4_lit" },
"east": { "uv": [ 0, 0, 14, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front0",
"from": [ 2, 8, 14 ],
"to": [ 4, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4_lit" }
}
},
{
"__comment": "Front1",
"from": [ 12, 8, 14 ],
"to": [ 14, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture4" },
"up": { "uv": [ 0, 14, 2, 12 ], "texture": "#texture4" },
"north": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"south": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" },
"west": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4_lit" },
"east": { "uv": [ 13, 0, 15, 8 ], "texture": "#texture4" }
}
},
{
"__comment": "Front2",
"from": [ 4, 13, 14 ],
"to": [ 12, 16, 16 ],
"faces": {
"down": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4_lit" },
"up": { "uv": [ 4, 5, 12, 7 ], "texture": "#texture4" },
"north": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"south": { "uv": [ 4, 4, 12, 7 ], "texture": "#texture4" },
"west": { "uv": [ 15, 0, 16, 4 ], "texture": "#texture" },
"east": { "uv": [ 0, 0, 1, 4 ], "texture": "#texture4" }
}
},
{
"__comment": "Holder0",
"from": [ 6.5, 15, 2 ],
"to": [ 7.3, 15.8, 14 ],
"rotation": { "origin": [ 6.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Leg0",
"from": [ 12, 0, 0 ],
"to": [ 16, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg1",
"from": [ 0, 0, 12 ],
"to": [ 4, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg2",
"from": [ 0, 0, 0 ],
"to": [ 4, 5, 4 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Leg3",
"from": [ 12, 0, 12 ],
"to": [ 16, 5, 16 ],
"faces": {
"down": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"up": { "uv": [ 0, 12, 4, 16 ], "texture": "#firebox_leg" },
"north": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"south": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"west": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" },
"east": { "uv": [ 0, 10.5, 4, 15.5 ], "texture": "#firebox_leg" }
}
},
{
"__comment": "Holder1",
"from": [ 10.5, 15, 2 ],
"to": [ 11.3, 15.8, 14 ],
"rotation": { "origin": [ 10.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder2",
"from": [ 12.5, 15, 2 ],
"to": [ 13.3, 15.8, 14 ],
"rotation": { "origin": [ 12.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder3",
"from": [ 2.5, 15, 2 ],
"to": [ 3.3, 15.8, 14 ],
"rotation": { "origin": [ 2.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder4",
"from": [ 4.5, 15, 2 ],
"to": [ 5.3, 15.8, 14 ],
"rotation": { "origin": [ 4.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
},
{
"__comment": "Holder5",
"from": [ 8.5, 15, 2 ],
"to": [ 9.3, 15.8, 14 ],
"rotation": { "origin": [ 8.5, 15, 2 ], "axis": "z", "angle": -45 },
"faces": {
"down": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"up": { "uv": [ 0, 0, 1, 12 ], "texture": "#texture2", "tintindex": 0 },
"north": { "uv": [ 0, 0, 1, 1 ], "texture": "#texture2", "tintindex": 0 },
"south": { "uv": [ 0, 16, 1, 15 ], "texture": "#texture2", "tintindex": 0 },
"west": { "uv": [ 0, 16, 12, 15 ], "texture": "#texture2", "tintindex": 0 },
"east": { "uv": [ 16, 16, 4, 15 ], "texture": "#texture2", "tintindex": 0 }
}
}
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "forgecraft:items/test"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "forgecraft:/block/firebox"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Some files were not shown because too many files have changed in this diff Show More