HammerTime
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "acesbs:block/prisma_steel_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "acesbs:block/prisma_steel_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_axe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "acesbs:block/prisma_steel_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_hammer"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_pickaxe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_shovel"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/prisma_steel_sword"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "minecraft:item/handheld_rod",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "acesbs:item/wand"
|
"layer0": "acesbs:item/wand"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel_block": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel_block"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "minecraft:prisma_steel"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel_block"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"minecraft:prisma_steel"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:prisma_steel_sword"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:prisma_steel_sword"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "minecraft:prisma_steel_block"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"minecraft:prisma_steel_block"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:item.acesbs.prisma_steel_axe.left"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:item.acesbs.prisma_steel_axe.left"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:item.acesbs.prisma_steel_axe.right"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:item.acesbs.prisma_steel_axe.right"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:item.acesbs.prisma_steel_hoe.left"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:item.acesbs.prisma_steel_hoe.left"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:item.acesbs.prisma_steel_hoe.right"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:item.acesbs.prisma_steel_hoe.right"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:prisma_steel_hammer"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:prisma_steel_hammer"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:prisma_steel_pickaxe"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:prisma_steel_pickaxe"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_prisma_steel": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:prisma_steel_shovel"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_prisma_steel"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:prisma_steel_shovel"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"bonus_rolls": 0.0,
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "acesbs:prisma_steel_block"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rolls": 1.0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
"## ",
|
||||||
|
"#I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_axe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
" ##",
|
||||||
|
" I#",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_axe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
"## ",
|
||||||
|
" I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
" ##",
|
||||||
|
" I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"category": "building",
|
||||||
|
"ingredients": [
|
||||||
|
{
|
||||||
|
"item": "acesbs:prisma_steel_block"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 9,
|
||||||
|
"id": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
"###",
|
||||||
|
"###",
|
||||||
|
"###"
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"B": {
|
||||||
|
"item": "acesbs:prisma_steel_block"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
"B#B",
|
||||||
|
" I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_hammer"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
"###",
|
||||||
|
" I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_pickaxe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
" # ",
|
||||||
|
" I ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_shovel"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "acesbs:prisma_steel"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:stick"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pattern": [
|
||||||
|
" # ",
|
||||||
|
" # ",
|
||||||
|
" I "
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:prisma_steel_sword"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"values": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"minecraft:coal",
|
||||||
|
"minecraft:raw_copper",
|
||||||
|
"minecraft:raw_iron",
|
||||||
|
"minecraft:raw_gold",
|
||||||
|
"minecraft:redstone",
|
||||||
|
"minecraft:lapis_lazuli",
|
||||||
|
"minecraft:emerald",
|
||||||
|
"minecraft:diamond"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
"values": [
|
"values": [
|
||||||
"acesbs:entropy_block",
|
"acesbs:entropy_block",
|
||||||
"acesbs:stable_entropy_block",
|
"acesbs:stable_entropy_block",
|
||||||
|
"acesbs:prisma_steel_block",
|
||||||
"acesbs:entropy_ore"
|
"acesbs:entropy_ore"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"values": [
|
"values": [
|
||||||
"acesbs:stable_entropy_block",
|
|
||||||
"acesbs:entropy_ore",
|
"acesbs:entropy_ore",
|
||||||
"acesbs:entropy_block"
|
"acesbs:entropy_block",
|
||||||
|
"acesbs:stable_entropy_block",
|
||||||
|
"acesbs:prisma_steel_block"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:prisma_steel_axe"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:prisma_steel_hoe"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:prisma_steel_pickaxe"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:prisma_steel_shovel"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:prisma_steel_sword"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -4,8 +4,10 @@ import com.acethewildfire.acesbs.block.ModBlocks;
|
|||||||
import com.acethewildfire.acesbs.component.ModDataComponentTypes;
|
import com.acethewildfire.acesbs.component.ModDataComponentTypes;
|
||||||
import com.acethewildfire.acesbs.item.ModItemGroups;
|
import com.acethewildfire.acesbs.item.ModItemGroups;
|
||||||
import com.acethewildfire.acesbs.item.ModItems;
|
import com.acethewildfire.acesbs.item.ModItems;
|
||||||
|
import com.acethewildfire.acesbs.util.HammerUsageEvent;
|
||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@@ -29,5 +31,7 @@ public class AcesBS implements ModInitializer {
|
|||||||
ModBlocks.registerModBlocks();
|
ModBlocks.registerModBlocks();
|
||||||
|
|
||||||
ModDataComponentTypes.registerDataComponentsTypes();
|
ModDataComponentTypes.registerDataComponentsTypes();
|
||||||
|
|
||||||
|
PlayerBlockBreakEvents.BEFORE.register(new HammerUsageEvent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@ Resources
|
|||||||
- Infernal Ashes
|
- Infernal Ashes
|
||||||
- Raw End-tropy
|
- Raw End-tropy
|
||||||
- Stable End-tropy
|
- Stable End-tropy
|
||||||
- Prisma Steel (Stable Entropy + Iron)
|
O Prisma Steel (Stable Entropy + Iron) (Needs recipe)
|
||||||
- Chaos Silver (Stable Entropy + Gold)
|
- Chaos Silver (Stable Entropy + Gold)
|
||||||
- Fractal Diamond (Stable Entropy + Diamond)
|
- Fractal Diamond (Stable Entropy + Diamond)
|
||||||
- Ashen Steel (Ashes + Iron)
|
- Ashen Steel (Ashes + Iron)
|
||||||
@@ -33,6 +33,18 @@ Potions
|
|||||||
- Bottle o' Drunken Sailor
|
- Bottle o' Drunken Sailor
|
||||||
- Energy Drink (Hyper Sugar)
|
- Energy Drink (Hyper Sugar)
|
||||||
|
|
||||||
|
Tools
|
||||||
|
O Prisma Steel (May get a different Ore when mining)
|
||||||
|
- Prisma Bucket (Stanlys bucket)
|
||||||
|
- Chaos Silver (May get a different Ore when mining)
|
||||||
|
- Fractal Diamond (May get a different Ore when mining)
|
||||||
|
- Ashen Steel (Randomly Smelts Ores)
|
||||||
|
- Everburn Gold (Randomly Smelts Ores)
|
||||||
|
- Infernal Diamond (Randomly Smelts Ores)
|
||||||
|
- Endtropite
|
||||||
|
|
||||||
|
- Hammers and Excavators of these materials.
|
||||||
|
|
||||||
Weapons
|
Weapons
|
||||||
- Big Iron
|
- Big Iron
|
||||||
- Thot Begon
|
- Thot Begon
|
||||||
@@ -46,10 +58,14 @@ Blocks
|
|||||||
- (Rename) Block of Raw Entropy
|
- (Rename) Block of Raw Entropy
|
||||||
- Block of Raw End-tropy
|
- Block of Raw End-tropy
|
||||||
- Stable End-tropy Block
|
- Stable End-tropy Block
|
||||||
|
- Blocks of (Instert Metal/Gem)
|
||||||
|
- Decorative (Bricks)
|
||||||
|
- Crystalized Entropy (Stained Glass version of Stable Entropy)
|
||||||
|
|
||||||
Workstations
|
Workstations
|
||||||
- Entropic Accumulator (For Metals and Stones)
|
- Entropic Eviscerator (Extracts ores from stones)
|
||||||
- Entropic Stabilizer (For making Stable Entropy)
|
- Entropic Stabilizer (For making Stable Entropy)
|
||||||
|
- Entropic Entangler (For Metals and Stones)
|
||||||
|
|
||||||
Mobs
|
Mobs
|
||||||
- Fren (Stable Entropy on a Creeper)
|
- Fren (Stable Entropy on a Creeper)
|
||||||
|
|||||||
@@ -140,6 +140,18 @@ public class ModBlocks {
|
|||||||
.requiresTool()
|
.requiresTool()
|
||||||
.sounds(BlockSoundGroup.LODESTONE)));
|
.sounds(BlockSoundGroup.LODESTONE)));
|
||||||
|
|
||||||
|
public static final Block PRISMA_STEEL_BLOCK = registerBlock(
|
||||||
|
"prisma_steel_block",
|
||||||
|
new Block(
|
||||||
|
AbstractBlock.Settings.create()
|
||||||
|
.mapColor(MapColor.IRON_GRAY)
|
||||||
|
.instrument(NoteBlockInstrument.IRON_XYLOPHONE)
|
||||||
|
.requiresTool()
|
||||||
|
.strength(5.0F, 6.0F)
|
||||||
|
.sounds(BlockSoundGroup.METAL)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
private static Block registerBlock(String name, Block block){
|
private static Block registerBlock(String name, Block block){
|
||||||
registerBlockItem(name, block);
|
registerBlockItem(name, block);
|
||||||
return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), block);
|
return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), block);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.acethewildfire.acesbs.datagen;
|
package com.acethewildfire.acesbs.datagen;
|
||||||
|
|
||||||
import com.acethewildfire.acesbs.block.ModBlocks;
|
import com.acethewildfire.acesbs.block.ModBlocks;
|
||||||
|
import com.acethewildfire.acesbs.util.ModTags;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||||
import net.minecraft.registry.RegistryWrapper;
|
import net.minecraft.registry.RegistryWrapper;
|
||||||
@@ -18,11 +19,13 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
|
|||||||
getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE)
|
getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE)
|
||||||
.add(ModBlocks.ENTROPY_BLOCK)
|
.add(ModBlocks.ENTROPY_BLOCK)
|
||||||
.add(ModBlocks.STABLE_ENTROPY_BLOCK)
|
.add(ModBlocks.STABLE_ENTROPY_BLOCK)
|
||||||
|
.add(ModBlocks.PRISMA_STEEL_BLOCK)
|
||||||
.add(ModBlocks.ENTROPY_ORE);
|
.add(ModBlocks.ENTROPY_ORE);
|
||||||
getOrCreateTagBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
|
getOrCreateTagBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
|
||||||
.add(ModBlocks.STABLE_ENTROPY_BLOCK)
|
|
||||||
.add(ModBlocks.ENTROPY_ORE)
|
.add(ModBlocks.ENTROPY_ORE)
|
||||||
.add(ModBlocks.ENTROPY_BLOCK);
|
.add(ModBlocks.ENTROPY_BLOCK)
|
||||||
|
.add(ModBlocks.STABLE_ENTROPY_BLOCK)
|
||||||
|
.add(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||||
getOrCreateTagBuilder(BlockTags.AXE_MINEABLE)
|
getOrCreateTagBuilder(BlockTags.AXE_MINEABLE)
|
||||||
.add(ModBlocks.LEMONWOOD_PLANKS)
|
.add(ModBlocks.LEMONWOOD_PLANKS)
|
||||||
.add(ModBlocks.LEMONWOOD_WALL)
|
.add(ModBlocks.LEMONWOOD_WALL)
|
||||||
@@ -34,5 +37,8 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
|
|||||||
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
|
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
|
||||||
getOrCreateTagBuilder(BlockTags.WALLS)
|
getOrCreateTagBuilder(BlockTags.WALLS)
|
||||||
.add(ModBlocks.LEMONWOOD_WALL);
|
.add(ModBlocks.LEMONWOOD_WALL);
|
||||||
|
getOrCreateTagBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
|
||||||
|
// Currently Broken
|
||||||
|
// .addTag(BlockTags.NEEDS_IRON_TOOL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
package com.acethewildfire.acesbs.datagen;
|
package com.acethewildfire.acesbs.datagen;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.item.ModItems;
|
||||||
import com.acethewildfire.acesbs.util.ModTags;
|
import com.acethewildfire.acesbs.util.ModTags;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
import net.minecraft.registry.RegistryWrapper;
|
import net.minecraft.registry.RegistryWrapper;
|
||||||
|
import net.minecraft.registry.tag.ItemTags;
|
||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@@ -18,5 +20,25 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
|||||||
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
|
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
|
||||||
getOrCreateTagBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
|
getOrCreateTagBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
|
||||||
.add(Items.APPLE);
|
.add(Items.APPLE);
|
||||||
|
getOrCreateTagBuilder(ModTags.Items.PRISMA_CONVERTABLE)
|
||||||
|
.add(Items.COAL)
|
||||||
|
.add(Items.RAW_COPPER)
|
||||||
|
.add(Items.RAW_IRON)
|
||||||
|
.add(Items.RAW_GOLD)
|
||||||
|
.add(Items.REDSTONE)
|
||||||
|
.add(Items.LAPIS_LAZULI)
|
||||||
|
.add(Items.EMERALD)
|
||||||
|
.add(Items.DIAMOND);
|
||||||
|
getOrCreateTagBuilder(ItemTags.SWORDS)
|
||||||
|
.add(ModItems.PRISMA_STEEL_SWORD);
|
||||||
|
getOrCreateTagBuilder(ItemTags.AXES)
|
||||||
|
.add(ModItems.PRISMA_STEEL_AXE);
|
||||||
|
getOrCreateTagBuilder(ItemTags.PICKAXES)
|
||||||
|
.add(ModItems.PRISMA_STEEL_PICKAXE);
|
||||||
|
getOrCreateTagBuilder(ItemTags.SHOVELS)
|
||||||
|
.add(ModItems.PRISMA_STEEL_SHOVEL);
|
||||||
|
getOrCreateTagBuilder(ItemTags.HOES)
|
||||||
|
.add(ModItems.PRISMA_STEEL_HOE);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider {
|
|||||||
public void generate() {
|
public void generate() {
|
||||||
addDrop(ModBlocks.ENTROPY_BLOCK);
|
addDrop(ModBlocks.ENTROPY_BLOCK);
|
||||||
addDrop(ModBlocks.STABLE_ENTROPY_BLOCK);
|
addDrop(ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||||
|
addDrop(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||||
|
|
||||||
addDrop(ModBlocks.LEMONWOOD_PLANKS);
|
addDrop(ModBlocks.LEMONWOOD_PLANKS);
|
||||||
addDrop(ModBlocks.LEMONWOOD_STAIRS);
|
addDrop(ModBlocks.LEMONWOOD_STAIRS);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public class ModModelProvider extends FabricModelProvider {
|
|||||||
// blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.ENTROPY_BLOCK);
|
// blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.ENTROPY_BLOCK);
|
||||||
// Has a complex texture, use the default blockbench method.
|
// Has a complex texture, use the default blockbench method.
|
||||||
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK);
|
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||||
|
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||||
|
|
||||||
BlockStateModelGenerator.BlockTexturePool lemonwoodPool = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.LEMONWOOD_PLANKS);
|
BlockStateModelGenerator.BlockTexturePool lemonwoodPool = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.LEMONWOOD_PLANKS);
|
||||||
|
|
||||||
@@ -51,6 +52,14 @@ public class ModModelProvider extends FabricModelProvider {
|
|||||||
itemModelGenerator.register(ModItems.ORACLE_LEMON, Models.GENERATED);
|
itemModelGenerator.register(ModItems.ORACLE_LEMON, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.GREEN_BRICKS, Models.GENERATED);
|
itemModelGenerator.register(ModItems.GREEN_BRICKS, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
|
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.WAND, Models.GENERATED);
|
itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED);
|
||||||
|
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_SWORD, Models.HANDHELD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_PICKAXE, Models.HANDHELD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_HAMMER, Models.HANDHELD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_AXE, Models.HANDHELD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_SHOVEL, Models.HANDHELD);
|
||||||
|
itemModelGenerator.register(ModItems.PRISMA_STEEL_HOE, Models.HANDHELD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ import net.minecraft.block.Blocks;
|
|||||||
import net.minecraft.data.server.recipe.RecipeExporter;
|
import net.minecraft.data.server.recipe.RecipeExporter;
|
||||||
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
|
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
|
||||||
import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder;
|
import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemConvertible;
|
import net.minecraft.item.ItemConvertible;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
import net.minecraft.recipe.*;
|
import net.minecraft.recipe.*;
|
||||||
import net.minecraft.recipe.book.RecipeCategory;
|
import net.minecraft.recipe.book.RecipeCategory;
|
||||||
import net.minecraft.registry.RegistryWrapper;
|
import net.minecraft.registry.RegistryWrapper;
|
||||||
@@ -23,6 +25,84 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
|||||||
super(output, registriesFuture);
|
super(output, registriesFuture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SwordRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, result)
|
||||||
|
.pattern(" # ")
|
||||||
|
.pattern(" # ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter);
|
||||||
|
}
|
||||||
|
private void PickaxeRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern("###")
|
||||||
|
.pattern(" I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter);
|
||||||
|
}
|
||||||
|
private void HammerRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible headMaterialBlock, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern("B#B")
|
||||||
|
.pattern(" I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('B', headMaterialBlock)
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter);
|
||||||
|
}
|
||||||
|
private void AxeRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern("## ")
|
||||||
|
.pattern("#I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, result.asItem().getName().getString() + ".left"));
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern(" ##")
|
||||||
|
.pattern(" I#")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, result.asItem().getName().getString() + ".right"));
|
||||||
|
}
|
||||||
|
private void ShovelRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern(" # ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter);
|
||||||
|
}
|
||||||
|
private void HoeRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern("## ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, result.asItem().getName().getString() + ".left"));
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, result)
|
||||||
|
.pattern(" ##")
|
||||||
|
.pattern(" I ")
|
||||||
|
.pattern(" I ")
|
||||||
|
.input('#', headMaterial)
|
||||||
|
.input('I', handleMaterial)
|
||||||
|
.criterion(hasItem(criterionItem), conditionsFromItem(criterionItem))
|
||||||
|
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, result.asItem().getName().getString() + ".right"));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generate(RecipeExporter recipeExporter) {
|
public void generate(RecipeExporter recipeExporter) {
|
||||||
|
|
||||||
@@ -32,6 +112,7 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
|||||||
|
|
||||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK);
|
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK);
|
||||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK);
|
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||||
|
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.PRISMA_STEEL, RecipeCategory.DECORATIONS, ModBlocks.PRISMA_STEEL_BLOCK);
|
||||||
|
|
||||||
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
|
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
|
||||||
|
|
||||||
@@ -80,6 +161,13 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
|||||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||||
.offerTo(recipeExporter);
|
.offerTo(recipeExporter);
|
||||||
|
|
||||||
|
SwordRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SWORD, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
PickaxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_PICKAXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
HammerRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HAMMER, ModItems.PRISMA_STEEL, ModBlocks.PRISMA_STEEL_BLOCK, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
AxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_AXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
ShovelRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SHOVEL, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
HoeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HOE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||||
|
|
||||||
// For 2+ recipes with the same RESULT use
|
// For 2+ recipes with the same RESULT use
|
||||||
// .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item"));
|
// .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ public class ModItemGroups {
|
|||||||
entries.add(ModItems.STABLE_ENTROPY);
|
entries.add(ModItems.STABLE_ENTROPY);
|
||||||
entries.add(ModItems.GREEN_BRICKS);
|
entries.add(ModItems.GREEN_BRICKS);
|
||||||
entries.add(ModItems.WAND);
|
entries.add(ModItems.WAND);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL);
|
||||||
})
|
})
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
@@ -36,6 +37,7 @@ public class ModItemGroups {
|
|||||||
entries.add(ModBlocks.ENTROPY_ORE);
|
entries.add(ModBlocks.ENTROPY_ORE);
|
||||||
entries.add(ModBlocks.ENTROPY_BLOCK);
|
entries.add(ModBlocks.ENTROPY_BLOCK);
|
||||||
entries.add(ModBlocks.STABLE_ENTROPY_BLOCK);
|
entries.add(ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||||
|
entries.add(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||||
|
|
||||||
entries.add(ModBlocks.LEMONWOOD_PLANKS);
|
entries.add(ModBlocks.LEMONWOOD_PLANKS);
|
||||||
entries.add(ModBlocks.LEMONWOOD_STAIRS);
|
entries.add(ModBlocks.LEMONWOOD_STAIRS);
|
||||||
@@ -53,6 +55,36 @@ public class ModItemGroups {
|
|||||||
})
|
})
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
|
public static final ItemGroup ACES_BS_COMBAT = Registry.register(Registries.ITEM_GROUP,
|
||||||
|
Identifier.of(AcesBS.MOD_ID, "combat"),
|
||||||
|
FabricItemGroup.builder()
|
||||||
|
.icon(() -> new ItemStack(ModItems.PRISMA_STEEL_SWORD))
|
||||||
|
.displayName(Text.translatable("itemgroup.acesbs.combat"))
|
||||||
|
.entries((displayContext, entries) -> {
|
||||||
|
entries.add(ModItems.PRISMA_STEEL);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_SWORD);
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
.build());
|
||||||
|
|
||||||
|
public static final ItemGroup ACES_BS_TOOLS = Registry.register(Registries.ITEM_GROUP,
|
||||||
|
Identifier.of(AcesBS.MOD_ID, "tools"),
|
||||||
|
FabricItemGroup.builder()
|
||||||
|
.icon(() -> new ItemStack(ModItems.PRISMA_STEEL_PICKAXE))
|
||||||
|
.displayName(Text.translatable("itemgroup.acesbs.tools"))
|
||||||
|
.entries((displayContext, entries) -> {
|
||||||
|
entries.add(ModItems.PRISMA_STEEL);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_SHOVEL);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_PICKAXE);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_HAMMER);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_AXE);
|
||||||
|
entries.add(ModItems.PRISMA_STEEL_HOE);
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
.build());
|
||||||
|
|
||||||
|
|
||||||
public static void registerItemGroups() {
|
public static void registerItemGroups() {
|
||||||
AcesBS.LOGGER.info("Registering Item Groups for " + AcesBS.MOD_ID);
|
AcesBS.LOGGER.info("Registering Item Groups for " + AcesBS.MOD_ID);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.acethewildfire.acesbs.item;
|
package com.acethewildfire.acesbs.item;
|
||||||
|
|
||||||
import com.acethewildfire.acesbs.AcesBS;
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.item.custom.HammerItem;
|
||||||
import com.acethewildfire.acesbs.item.custom.OracleLemon;
|
import com.acethewildfire.acesbs.item.custom.OracleLemon;
|
||||||
import com.acethewildfire.acesbs.item.custom.Wand;
|
import com.acethewildfire.acesbs.item.custom.Wand;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
@@ -8,8 +9,7 @@ import net.minecraft.component.DataComponentTypes;
|
|||||||
import net.minecraft.component.type.PotionContentsComponent;
|
import net.minecraft.component.type.PotionContentsComponent;
|
||||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
import net.minecraft.entity.effect.StatusEffectInstance;
|
||||||
import net.minecraft.entity.effect.StatusEffects;
|
import net.minecraft.entity.effect.StatusEffects;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.item.tooltip.TooltipType;
|
import net.minecraft.item.tooltip.TooltipType;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
@@ -42,6 +42,34 @@ public class ModItems {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
public static final Item PRISMA_STEEL = registerItem("prisma_steel", new Item(new Item.Settings()));
|
||||||
|
public static final Item PRISMA_STEEL_SWORD = registerItem("prisma_steel_sword",
|
||||||
|
new SwordItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(SwordItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, 3, -2.4f))));
|
||||||
|
|
||||||
|
public static final Item PRISMA_STEEL_SHOVEL = registerItem("prisma_steel_shovel",
|
||||||
|
new ShovelItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(ShovelItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, 1.5F, -3.0F)))
|
||||||
|
);
|
||||||
|
public static final Item PRISMA_STEEL_PICKAXE = registerItem("prisma_steel_pickaxe",
|
||||||
|
new PickaxeItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(PickaxeItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, 1.0F, -2.8F)))
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Item PRISMA_STEEL_HAMMER = registerItem("prisma_steel_hammer",
|
||||||
|
new HammerItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(PickaxeItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, 7.0F, -3.4F)))
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Item PRISMA_STEEL_AXE = registerItem("prisma_steel_axe",
|
||||||
|
new AxeItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(AxeItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, 6.0F, -3.1F)))
|
||||||
|
);
|
||||||
|
public static final Item PRISMA_STEEL_HOE = registerItem("prisma_steel_hoe",
|
||||||
|
new HoeItem(ModToolMaterials.PRISMA_STEEL, new Item.Settings()
|
||||||
|
.attributeModifiers(HoeItem.createAttributeModifiers(ModToolMaterials.PRISMA_STEEL, -2.0F, -1.0F)))
|
||||||
|
);
|
||||||
|
|
||||||
private static Item registerItem(String name, Item item){
|
private static Item registerItem(String name, Item item){
|
||||||
return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item);
|
return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
package com.acethewildfire.acesbs.item;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.util.ModTags;
|
||||||
|
import com.google.common.base.Suppliers;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.item.ToolMaterial;
|
||||||
|
import net.minecraft.recipe.Ingredient;
|
||||||
|
import net.minecraft.registry.tag.BlockTags;
|
||||||
|
import net.minecraft.registry.tag.ItemTags;
|
||||||
|
import net.minecraft.registry.tag.TagKey;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
public enum ModToolMaterials implements ToolMaterial {
|
||||||
|
// WOOD(BlockTags.INCORRECT_FOR_WOODEN_TOOL, 59, 2.0F, 0.0F, 15, () -> Ingredient.fromTag(ItemTags.PLANKS)),
|
||||||
|
// STONE(BlockTags.INCORRECT_FOR_STONE_TOOL, 131, 4.0F, 1.0F, 5, () -> Ingredient.fromTag(ItemTags.STONE_TOOL_MATERIALS)),
|
||||||
|
// IRON(BlockTags.INCORRECT_FOR_IRON_TOOL, 250, 6.0F, 2.0F, 14, () -> Ingredient.ofItems(Items.IRON_INGOT)),
|
||||||
|
// DIAMOND(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1561, 8.0F, 3.0F, 10, () -> Ingredient.ofItems(Items.DIAMOND)),
|
||||||
|
// GOLD(BlockTags.INCORRECT_FOR_GOLD_TOOL, 32, 12.0F, 0.0F, 22, () -> Ingredient.ofItems(Items.GOLD_INGOT)),
|
||||||
|
// NETHERITE(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2031, 9.0F, 4.0F, 15, () -> Ingredient.ofItems(Items.NETHERITE_INGOT));
|
||||||
|
|
||||||
|
PRISMA_STEEL(ModTags.Blocks.INCORRECT_FOR_PRISMA_STEEL_TOOL, 750, 8.0F, 2.0F, 22, () -> Ingredient.ofItems(ModItems.PRISMA_STEEL));
|
||||||
|
|
||||||
|
private final TagKey<Block> inverseTag;
|
||||||
|
private final int itemDurability;
|
||||||
|
private final float miningSpeed;
|
||||||
|
private final float attackDamage;
|
||||||
|
private final int enchantability;
|
||||||
|
private final Supplier<Ingredient> repairIngredient;
|
||||||
|
|
||||||
|
private ModToolMaterials(
|
||||||
|
final TagKey<Block> inverseTag,
|
||||||
|
final int itemDurability,
|
||||||
|
final float miningSpeed,
|
||||||
|
final float attackDamage,
|
||||||
|
final int enchantability,
|
||||||
|
final Supplier<Ingredient> repairIngredient
|
||||||
|
) {
|
||||||
|
this.inverseTag = inverseTag;
|
||||||
|
this.itemDurability = itemDurability;
|
||||||
|
this.miningSpeed = miningSpeed;
|
||||||
|
this.attackDamage = attackDamage;
|
||||||
|
this.enchantability = enchantability;
|
||||||
|
this.repairIngredient = Suppliers.memoize(repairIngredient::get);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDurability() {
|
||||||
|
return this.itemDurability;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getMiningSpeedMultiplier() {
|
||||||
|
return this.miningSpeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getAttackDamage() {
|
||||||
|
return this.attackDamage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TagKey<Block> getInverseTag() {
|
||||||
|
return this.inverseTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getEnchantability() {
|
||||||
|
return this.enchantability;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Ingredient getRepairIngredient() {
|
||||||
|
return this.repairIngredient.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.acethewildfire.acesbs.item.custom;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.item.ModItems;
|
||||||
|
import com.acethewildfire.acesbs.util.ModTags;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.entity.ItemEntity;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.*;
|
||||||
|
import net.minecraft.registry.Registries;
|
||||||
|
import net.minecraft.registry.tag.BlockTags;
|
||||||
|
import net.minecraft.registry.tag.TagKey;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.sound.SoundCategory;
|
||||||
|
import net.minecraft.sound.SoundEvents;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.util.hit.BlockHitResult;
|
||||||
|
import net.minecraft.util.hit.HitResult;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.Direction;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class HammerItem extends MiningToolItem {
|
||||||
|
|
||||||
|
// private final Random r = new Random();
|
||||||
|
|
||||||
|
// private List<Item> replacementItems = new ArrayList<>();
|
||||||
|
|
||||||
|
public HammerItem(ToolMaterial material, Settings settings) {
|
||||||
|
super(material, BlockTags.PICKAXE_MINEABLE, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// private boolean isValidItem(ItemStack stack) {
|
||||||
|
// return stack.isIn(ModTags.Items.PRISMA_CONVERTABLE);
|
||||||
|
// }
|
||||||
|
|
||||||
|
public static List<BlockPos> getBlocksToBeDestroyed(int range, BlockPos initalBlockPos, ServerPlayerEntity player) {
|
||||||
|
List<BlockPos> positions = new ArrayList<>();
|
||||||
|
HitResult hit = player.raycast(20, 0, false);
|
||||||
|
if (hit.getType() == HitResult.Type.BLOCK) {
|
||||||
|
BlockHitResult blockHit = (BlockHitResult) hit;
|
||||||
|
|
||||||
|
if (blockHit.getSide() == Direction.DOWN || blockHit.getSide() == Direction.UP) {
|
||||||
|
for (int x = -range; x <= range; x++) {
|
||||||
|
for (int y = -range; y <= range; y++) {
|
||||||
|
positions.add(new BlockPos(initalBlockPos.getX() + x, initalBlockPos.getY(), initalBlockPos.getZ() + y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blockHit.getSide() == Direction.NORTH || blockHit.getSide() == Direction.SOUTH) {
|
||||||
|
for (int x = -range; x <= range; x++) {
|
||||||
|
for (int y = -range; y <= range; y++) {
|
||||||
|
positions.add(new BlockPos(initalBlockPos.getX() + x, initalBlockPos.getY() + y, initalBlockPos.getZ()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blockHit.getSide() == Direction.EAST || blockHit.getSide() == Direction.WEST) {
|
||||||
|
for (int x = -range; x <= range; x++) {
|
||||||
|
for (int y = -range; y <= range; y++) {
|
||||||
|
positions.add(new BlockPos(initalBlockPos.getX(), initalBlockPos.getY() + y, initalBlockPos.getZ() + x));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return positions;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public boolean postMine(ItemStack stack, World world, BlockState state, BlockPos pos, LivingEntity miner) {
|
||||||
|
// ItemStack nextItem = stack;
|
||||||
|
// if(isValidItem(stack)){
|
||||||
|
// int chance = r.nextInt(1,21); // 1-20
|
||||||
|
// replacementItems.add(ModItems.RAW_ENTROPY);
|
||||||
|
// replacementItems.add(ModItems.STABLE_ENTROPY);
|
||||||
|
// replacementItems.add(ModItems.LEMON);
|
||||||
|
// int itemIndex = r.nextInt(1, replacementItems.size()+1);
|
||||||
|
//
|
||||||
|
// ItemStack replacementStack = new ItemStack(replacementItems.get(itemIndex), stack.getCount());
|
||||||
|
// if (chance == 20) {
|
||||||
|
// nextItem = replacementStack;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return super.postMine(nextItem, world, state, pos, miner);
|
||||||
|
// }
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.acethewildfire.acesbs.util;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.item.custom.HammerItem;
|
||||||
|
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.entity.BlockEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class HammerUsageEvent implements PlayerBlockBreakEvents.Before{
|
||||||
|
// Done with the help of https://github.com/CoFH/CoFHCore/blob/c23d117dcd3b3b3408a138716b15507f709494cd/src/main/java/cofh/core/event/AreaEffectEvents.java
|
||||||
|
private static final Set<BlockPos> HARVESTED_BLOCKS = new HashSet<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean beforeBlockBreak(World world, PlayerEntity player, BlockPos pos,
|
||||||
|
BlockState state, @Nullable BlockEntity blockEntity) {
|
||||||
|
ItemStack mainHandItem = player.getMainHandStack();
|
||||||
|
|
||||||
|
if(mainHandItem.getItem() instanceof HammerItem hammer && player instanceof ServerPlayerEntity serverPlayer) {
|
||||||
|
if(HARVESTED_BLOCKS.contains(pos)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(BlockPos position : HammerItem.getBlocksToBeDestroyed(1, pos, serverPlayer)) {
|
||||||
|
if(pos == position || !hammer.isCorrectForDrops(mainHandItem, world.getBlockState(position))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
HARVESTED_BLOCKS.add(position);
|
||||||
|
serverPlayer.interactionManager.tryBreakBlock(position);
|
||||||
|
HARVESTED_BLOCKS.remove(position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,7 +8,11 @@ import net.minecraft.registry.tag.TagKey;
|
|||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public class ModTags {
|
public class ModTags {
|
||||||
|
|
||||||
public static class Blocks {
|
public static class Blocks {
|
||||||
|
public static final TagKey<Block> NEEDS_PRISMA_STEEL_TOOL = createTag("needs_prisma_steel_tool");
|
||||||
|
public static final TagKey<Block> INCORRECT_FOR_PRISMA_STEEL_TOOL = createTag("incorrect_for_prisma_steel_tool");
|
||||||
|
|
||||||
private static TagKey<Block> createTag(String name){
|
private static TagKey<Block> createTag(String name){
|
||||||
return TagKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name));
|
return TagKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name));
|
||||||
}
|
}
|
||||||
@@ -16,6 +20,7 @@ public class ModTags {
|
|||||||
|
|
||||||
public static class Items {
|
public static class Items {
|
||||||
public static final TagKey<Item> ENTROPY_CONVERTABLE = createTag("entropy_convertable");
|
public static final TagKey<Item> ENTROPY_CONVERTABLE = createTag("entropy_convertable");
|
||||||
|
public static final TagKey<Item> PRISMA_CONVERTABLE = createTag("prisma_convertable");
|
||||||
|
|
||||||
private static TagKey<Item> createTag(String name){
|
private static TagKey<Item> createTag(String name){
|
||||||
return TagKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name));
|
return TagKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name));
|
||||||
|
|||||||
@@ -12,7 +12,16 @@
|
|||||||
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
|
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
|
||||||
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
|
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
|
||||||
|
|
||||||
|
"item.acesbs.prisma_steel": "Prisma Steel",
|
||||||
|
"item.acesbs.prisma_steel_sword": "Prisma Steel Sword",
|
||||||
|
"item.acesbs.prisma_steel_pickaxe": "Prisma Steel Pickaxe",
|
||||||
|
"item.acesbs.prisma_steel_hammer": "Prisma Steel Hammer",
|
||||||
|
"item.acesbs.prisma_steel_axe": "Prisma Steel Axe",
|
||||||
|
"item.acesbs.prisma_steel_shovel": "Prisma Steel Shovel",
|
||||||
|
"item.acesbs.prisma_steel_hoe": "Prisma Steel Hoe",
|
||||||
|
|
||||||
"block.acesbs.entropy_block": "Block of Entropy",
|
"block.acesbs.entropy_block": "Block of Entropy",
|
||||||
|
"block.acesbs.prisma_steel_block": "Block of Prisma Steel",
|
||||||
"block.acesbs.entropy_ore": "Entropic Ore",
|
"block.acesbs.entropy_ore": "Entropic Ore",
|
||||||
"block.acesbs.stable_entropy_block": "Block of Stabilized Entropy",
|
"block.acesbs.stable_entropy_block": "Block of Stabilized Entropy",
|
||||||
|
|
||||||
@@ -31,6 +40,8 @@
|
|||||||
|
|
||||||
"itemgroup.acesbs.items": "Ace's BS Items",
|
"itemgroup.acesbs.items": "Ace's BS Items",
|
||||||
"itemgroup.acesbs.blocks": "Ace's BS Blocks",
|
"itemgroup.acesbs.blocks": "Ace's BS Blocks",
|
||||||
|
"itemgroup.acesbs.combat": "Ace's BS Combat",
|
||||||
|
"itemgroup.acesbs.tools": "Ace's BS Tools",
|
||||||
|
|
||||||
"tooltip.acesbs.entropy_block.tooltip": "Exerts an §o§4uncertain force§r when stepped on.",
|
"tooltip.acesbs.entropy_block.tooltip": "Exerts an §o§4uncertain force§r when stepped on.",
|
||||||
"tooltip.acesbs.stable_entropy_block.tooltip": "Exerts an §o§2upward force§r when stepped on.",
|
"tooltip.acesbs.stable_entropy_block.tooltip": "Exerts an §o§2upward force§r when stepped on.",
|
||||||
|
|||||||
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.4 KiB |