mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
Breakbeat Cardboard
- Added Block of Cardboard - Stealth overlay placeholder texture - Randomize stealth box - Cardboard Sword plays sound when hitting blocks
This commit is contained in:
parent
58007c5f88
commit
186aa54e6f
32 changed files with 426 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-10-16T10:36:50.6126632 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
// 1.20.1 2024-10-17T18:56:47.626034 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
60bbdf92d2ac9824ea6144955c74043a6005f79d assets/create/blockstates/acacia_window.json
|
||||
6a67703c2697d81b7dc83e9d72a66f9c9ff08383 assets/create/blockstates/acacia_window_pane.json
|
||||
c3ae87b62e81d8e9476eccd793bb1548d74c66a1 assets/create/blockstates/adjustable_chain_gearshift.json
|
||||
|
@ -54,6 +54,7 @@ c23d7f691bf532d6b27317c0063289a8bd747de2 assets/create/blockstates/brown_postbox
|
|||
1ffc38bf682e84aad4cb300c573375eb0cdcc434 assets/create/blockstates/brown_toolbox.json
|
||||
440b29e1dffa4374ddc1aed444bff18a485bc1cb assets/create/blockstates/brown_valve_handle.json
|
||||
2064534de4791b339fdcd4ef3a8129a2e233ec50 assets/create/blockstates/calcite_pillar.json
|
||||
6a3e661d54423af7a8d642b813deb8f5331013c5 assets/create/blockstates/cardboard_block.json
|
||||
060c957b28afed9f4e0954cbef7e80cbf4b99f58 assets/create/blockstates/cart_assembler.json
|
||||
fab98b93ad9b78312742daca83c2575db40fce98 assets/create/blockstates/chain_conveyor.json
|
||||
c7eca70054241944171b1d4ffcba0376b071ec62 assets/create/blockstates/chocolate.json
|
||||
|
@ -609,8 +610,8 @@ b0d8f08968763a5f74e5cd5644377a76a9f39753 assets/create/blockstates/yellow_toolbo
|
|||
fe8c497aacc641c2f01cec90bba9f19e59cc2ed2 assets/create/blockstates/yellow_valve_handle.json
|
||||
e819e93fdcbe9fd9c050a052d2718ff3b3539365 assets/create/blockstates/zinc_block.json
|
||||
64121dcb216381c83b4fe28aa361ea07c24c9ad0 assets/create/blockstates/zinc_ore.json
|
||||
bb133028f134e0cf078a08fb468a6005f7d46c76 assets/create/lang/en_ud.json
|
||||
119508739932781e5166384ab3ecdc82dd01760e assets/create/lang/en_us.json
|
||||
1d3a9e827cc454562c86cc8c5ee596b78cfa7a57 assets/create/lang/en_ud.json
|
||||
b6619ed3dcd9146aa7a567629455ef7c01146437 assets/create/lang/en_us.json
|
||||
a97e1060e00ae701a02e39cd4ef8054cf345fac4 assets/create/models/block/acacia_window.json
|
||||
103e032c0b1a0a6a27c67da8c91179a564bd281c assets/create/models/block/acacia_window_pane_noside.json
|
||||
fb00b627abda76ad4fea867ca57dbfadd24fffa3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
|
@ -1768,6 +1769,7 @@ fce64539b36fc8a5ffa39d7a3f73765818437cbf assets/create/models/item/brown_seat.js
|
|||
1db479848369140bb913ba09f3f1d994e4ac864c assets/create/models/item/builders_tea.json
|
||||
f5ff4e2ed2ea2e43b6d02f6a95ba02b2e4b611dc assets/create/models/item/calcite_pillar.json
|
||||
cc2692f7964f4266ecf00fcab176b1ef0b78673f assets/create/models/item/cardboard.json
|
||||
607272f2b906fdffd46677d47a4e6ecb94184eff assets/create/models/item/cardboard_block.json
|
||||
39eadb54cec52d9e2a087fc71ef83341688f2781 assets/create/models/item/cardboard_boots.json
|
||||
d6a3f139fca5ac6aff94d11d75fe239283bb4a09 assets/create/models/item/cardboard_chestplate.json
|
||||
82236ea8e939c46f0d2c9142336190eca2a0425e assets/create/models/item/cardboard_helmet.json
|
||||
|
@ -3080,6 +3082,7 @@ bfa0365507a888134c20b36af4bd7944263687f0 data/create/loot_tables/blocks/brown_po
|
|||
588ae3d0da73eed3bc30cb28c583e7f8312d15bd data/create/loot_tables/blocks/brown_toolbox.json
|
||||
7c7cf4c30786f6e0a699e2b3f9120343e53107f4 data/create/loot_tables/blocks/brown_valve_handle.json
|
||||
06d1c478e4236210aa12b5911691868fef33bb5f data/create/loot_tables/blocks/calcite_pillar.json
|
||||
3d65461b1fc2667f446aefa2853621c06068bb38 data/create/loot_tables/blocks/cardboard_block.json
|
||||
515c839deea520b07b03f7ba65c4a7b22fdf5ba3 data/create/loot_tables/blocks/cart_assembler.json
|
||||
aadd8aa7f8433896bd4fea56f43e496cbc5be25a data/create/loot_tables/blocks/chain_conveyor.json
|
||||
fb4877d45df15be1a74378ab28f23fbf9d0657ef data/create/loot_tables/blocks/chute.json
|
||||
|
@ -4351,9 +4354,10 @@ de1fc89be6a52473d526d3efe0204b9b8489058c data/forge/tags/blocks/glass_panes.json
|
|||
e475ad1c52bffedfc544e5331a87c1f5c45149fd data/forge/tags/blocks/ores_in_ground/deepslate.json
|
||||
2f6068972e364599b6849dc46fcb0724d4219d53 data/forge/tags/blocks/ores_in_ground/stone.json
|
||||
8a5988e68f3a41341b486784c29d00e16d5272f7 data/forge/tags/blocks/relocation_not_supported.json
|
||||
b3af02a6fa3dc41bc3f4db933485f22b202deea3 data/forge/tags/blocks/storage_blocks.json
|
||||
807ea01d3b028bd226ed0befc142cbd23647e998 data/forge/tags/blocks/storage_blocks.json
|
||||
7d10cdf9e46a79753d4437c7bb958e3ab8bf0c89 data/forge/tags/blocks/storage_blocks/andesite_alloy.json
|
||||
70bba470740dc7a77f51b4cb1747a105b62d4bde data/forge/tags/blocks/storage_blocks/brass.json
|
||||
18f54179c6f809ff4aee792702fa35d3053e5dc4 data/forge/tags/blocks/storage_blocks/cardboard.json
|
||||
bcd593714f43bc6a0aefbd714c24db3cf9e71250 data/forge/tags/blocks/storage_blocks/raw_zinc.json
|
||||
41b2a17b5ebcff5623e25dc6232f73cf9aa70387 data/forge/tags/blocks/storage_blocks/zinc.json
|
||||
8140415f1c16f09167f41eeee25c09706a944be0 data/forge/tags/fluids/chocolate.json
|
||||
|
@ -4393,9 +4397,10 @@ ef5256892a9d4167bf7371c7138a933a107a123a data/forge/tags/items/plates/copper.jso
|
|||
07a6e69488ff6994a9ef1cca75b6e911bc3e3358 data/forge/tags/items/plates/obsidian.json
|
||||
30496416fffaf4f845052a264023e64e52894ee7 data/forge/tags/items/raw_materials.json
|
||||
30496416fffaf4f845052a264023e64e52894ee7 data/forge/tags/items/raw_materials/zinc.json
|
||||
b3af02a6fa3dc41bc3f4db933485f22b202deea3 data/forge/tags/items/storage_blocks.json
|
||||
807ea01d3b028bd226ed0befc142cbd23647e998 data/forge/tags/items/storage_blocks.json
|
||||
7d10cdf9e46a79753d4437c7bb958e3ab8bf0c89 data/forge/tags/items/storage_blocks/andesite_alloy.json
|
||||
70bba470740dc7a77f51b4cb1747a105b62d4bde data/forge/tags/items/storage_blocks/brass.json
|
||||
18f54179c6f809ff4aee792702fa35d3053e5dc4 data/forge/tags/items/storage_blocks/cardboard.json
|
||||
bcd593714f43bc6a0aefbd714c24db3cf9e71250 data/forge/tags/items/storage_blocks/raw_zinc.json
|
||||
41b2a17b5ebcff5623e25dc6232f73cf9aa70387 data/forge/tags/items/storage_blocks/zinc.json
|
||||
b69fcc7227d44fc000c8ab94524230f55b89aa27 data/forge/tags/items/stripped_logs.json
|
||||
|
@ -4408,7 +4413,7 @@ c741ba83b562ae3459d7c4f2db69537f549ea411 data/forge/tags/items/tools/wrench.json
|
|||
515a1c773e617dd7e38aa1b893acc7db2dd30e08 data/minecraft/tags/blocks/dripstone_replaceable_blocks.json
|
||||
e3321ff14704c031a2c16953b7e391f4f24dd70b data/minecraft/tags/blocks/impermeable.json
|
||||
515a1c773e617dd7e38aa1b893acc7db2dd30e08 data/minecraft/tags/blocks/lush_ground_replaceable.json
|
||||
5bfa11627f37364de2098753c85a589721cfa2af data/minecraft/tags/blocks/mineable/axe.json
|
||||
f65bb63cc66aa72b5b9fa05dd88e2a69c8bf7d55 data/minecraft/tags/blocks/mineable/axe.json
|
||||
1f8802b85d179bbd7f74ec37c6ffceb59eb4856c data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||
515a1c773e617dd7e38aa1b893acc7db2dd30e08 data/minecraft/tags/blocks/moss_replaceable.json
|
||||
0c13aae0eeb99e89febe8dbe5e002af2ff843a9e data/minecraft/tags/blocks/needs_iron_tool.json
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-10-15T10:59:16.195561 Create's Standard Recipes
|
||||
// 1.20.1 2024-10-17T18:56:47.6838794 Create's Standard Recipes
|
||||
a8cc4af26f6c7c45a9eef12e92af1452fe042454 data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank.json
|
||||
2c2639c7b307ee7c7a4e97e5efebf496788998ad data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank_from_netherite.json
|
||||
81dcf0cb1aa99e39bc7d1a386e07cad4cee7d8b9 data/create/advancements/recipes/combat/crafting/appliances/netherite_diving_boots.json
|
||||
|
@ -188,6 +188,8 @@ cb416511a219d2bc5806c6880c01820a8b563b80 data/create/advancements/recipes/misc/c
|
|||
8aa51bd8685a70f200506d3efd4e73ce9b2d7370 data/create/advancements/recipes/misc/crafting/materials/brass_ingot_from_compacting.json
|
||||
9e703c5fa1bd44eb6581e745f06923d40126ada4 data/create/advancements/recipes/misc/crafting/materials/brass_ingot_from_decompacting.json
|
||||
4cb9d1fc5289b11df4610a85aa2cd67877556b32 data/create/advancements/recipes/misc/crafting/materials/brass_nugget_from_decompacting.json
|
||||
f07788c42f4c49d0b4fc7253742d95e94bd5346d data/create/advancements/recipes/misc/crafting/materials/cardboard_block.json
|
||||
86439f388e88fe56d3931ab46fce5a111b2c15f4 data/create/advancements/recipes/misc/crafting/materials/cardboard_from_block.json
|
||||
ffcd3f0339794c782a8be8434cd79de15d0ab3cc data/create/advancements/recipes/misc/crafting/materials/copper_ingot.json
|
||||
58c23978d7222951cba2bbf3020cd0c2c6f85ac9 data/create/advancements/recipes/misc/crafting/materials/copper_nugget.json
|
||||
d4879e7721bdbb6c7029ac88ff5684acec8223d6 data/create/advancements/recipes/misc/crafting/materials/electron_tube.json
|
||||
|
@ -438,6 +440,8 @@ f9f94e5082e7971e55b25bc00ba86c3579b492aa data/create/recipes/crafting/materials/
|
|||
ecd8581ad4a04cc1217133363bd15d76129cb651 data/create/recipes/crafting/materials/brass_ingot_from_compacting.json
|
||||
fe2f3c0722aa0f6b41ad0f497b9742eb856c0dd0 data/create/recipes/crafting/materials/brass_ingot_from_decompacting.json
|
||||
941b2c1007c4b3afb6e141a754141de1b1c9a43a data/create/recipes/crafting/materials/brass_nugget_from_decompacting.json
|
||||
4c92a1eadc2e5dfba9e871537671702ccf35368a data/create/recipes/crafting/materials/cardboard_block.json
|
||||
cb1188148d18e456cecd33279aaf695787ddbf74 data/create/recipes/crafting/materials/cardboard_from_block.json
|
||||
d4d6664d05c7406b4f839413d4e3c60cf0347fb7 data/create/recipes/crafting/materials/copper_ingot.json
|
||||
4863d3feda514d414962c1947abaa232ab3f6cd5 data/create/recipes/crafting/materials/copper_nugget.json
|
||||
66c0b1d060395826c4a45082a03295b5df450801 data/create/recipes/crafting/materials/electron_tube.json
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/cardboard_block",
|
||||
"y": 90
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/cardboard_block"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -240,6 +240,7 @@
|
|||
"block.create.brown_toolbox": "xoqןoo⟘ uʍoɹᗺ",
|
||||
"block.create.brown_valve_handle": "ǝןpuɐH ǝʌןɐΛ uʍoɹᗺ",
|
||||
"block.create.calcite_pillar": "ɹɐןןıԀ ǝʇıɔןɐƆ",
|
||||
"block.create.cardboard_block": "pɹɐoqpɹɐƆ ɟo ʞɔoןᗺ",
|
||||
"block.create.cart_assembler": "ɹǝןqɯǝssⱯ ʇɹɐƆ",
|
||||
"block.create.chain_conveyor": "ɹoʎǝʌuoƆ uıɐɥƆ",
|
||||
"block.create.chocolate": "ǝʇɐןoɔoɥƆ",
|
||||
|
|
|
@ -240,6 +240,7 @@
|
|||
"block.create.brown_toolbox": "Brown Toolbox",
|
||||
"block.create.brown_valve_handle": "Brown Valve Handle",
|
||||
"block.create.calcite_pillar": "Calcite Pillar",
|
||||
"block.create.cardboard_block": "Block of Cardboard",
|
||||
"block.create.cart_assembler": "Cart Assembler",
|
||||
"block.create.chain_conveyor": "Chain Conveyor",
|
||||
"block.create.chocolate": "Chocolate",
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/cardboard_block"
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"create:cardboard"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/materials/cardboard_block"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/materials/cardboard_block"
|
||||
]
|
||||
},
|
||||
"sends_telemetry_event": false
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"create:cardboard"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/materials/cardboard_from_block"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/materials/cardboard_from_block"
|
||||
]
|
||||
},
|
||||
"sends_telemetry_event": false
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:cardboard_block"
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
}
|
||||
],
|
||||
"random_sequence": "create:blocks/cardboard_block"
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "create:cardboard"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"CC",
|
||||
"CC"
|
||||
],
|
||||
"result": {
|
||||
"item": "create:cardboard_block"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "misc",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cardboard_block"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "create:cardboard"
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@
|
|||
"create:zinc_block",
|
||||
"create:andesite_alloy_block",
|
||||
"create:brass_block",
|
||||
"create:cardboard_block",
|
||||
"create:experience_block"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"create:cardboard_block"
|
||||
]
|
||||
}
|
|
@ -4,6 +4,7 @@
|
|||
"create:zinc_block",
|
||||
"create:andesite_alloy_block",
|
||||
"create:brass_block",
|
||||
"create:cardboard_block",
|
||||
"create:experience_block"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"create:cardboard_block"
|
||||
]
|
||||
}
|
|
@ -130,6 +130,7 @@
|
|||
"create:brown_seat",
|
||||
"create:green_seat",
|
||||
"create:red_seat",
|
||||
"create:black_seat"
|
||||
"create:black_seat",
|
||||
"create:cardboard_block"
|
||||
]
|
||||
}
|
|
@ -54,6 +54,7 @@ import com.simibubi.create.content.contraptions.piston.MechanicalPistonBlock;
|
|||
import com.simibubi.create.content.contraptions.piston.MechanicalPistonHeadBlock;
|
||||
import com.simibubi.create.content.contraptions.piston.PistonExtensionPoleBlock;
|
||||
import com.simibubi.create.content.contraptions.pulley.PulleyBlock;
|
||||
import com.simibubi.create.content.decoration.CardboardBlock;
|
||||
import com.simibubi.create.content.decoration.MetalLadderBlock;
|
||||
import com.simibubi.create.content.decoration.MetalScaffoldingBlock;
|
||||
import com.simibubi.create.content.decoration.TrainTrapdoorBlock;
|
||||
|
@ -2466,6 +2467,20 @@ public class AllBlocks {
|
|||
.build()
|
||||
.lang("Block of Brass")
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<CardboardBlock> CARDBOARD_BLOCK =
|
||||
REGISTRATE.block("cardboard_block", CardboardBlock::new)
|
||||
.initialProperties(() -> Blocks.MUSHROOM_STEM)
|
||||
.properties(p -> p.mapColor(MapColor.COLOR_BROWN)
|
||||
.ignitedByLava())
|
||||
.transform(axeOnly())
|
||||
.blockstate(BlockStateGen.horizontalAxisBlockProvider(false))
|
||||
.tag(Tags.Blocks.STORAGE_BLOCKS)
|
||||
.transform(tagBlockAndItem("storage_blocks/cardboard"))
|
||||
.tag(Tags.Items.STORAGE_BLOCKS)
|
||||
.build()
|
||||
.lang("Block of Cardboard")
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<ExperienceBlock> EXPERIENCE_BLOCK =
|
||||
REGISTRATE.block("experience_block", ExperienceBlock::new)
|
||||
|
|
|
@ -25,6 +25,7 @@ import com.simibubi.create.content.equipment.armor.AllArmorMaterials;
|
|||
import com.simibubi.create.content.equipment.armor.BacktankItem;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankItem.BacktankBlockItem;
|
||||
import com.simibubi.create.content.equipment.armor.BaseArmorItem;
|
||||
import com.simibubi.create.content.equipment.armor.CardboardHelmetItem;
|
||||
import com.simibubi.create.content.equipment.armor.DivingBootsItem;
|
||||
import com.simibubi.create.content.equipment.armor.DivingHelmetItem;
|
||||
import com.simibubi.create.content.equipment.blueprint.BlueprintItem;
|
||||
|
@ -318,7 +319,7 @@ public class AllItems {
|
|||
CARDBOARD_HELMET =
|
||||
REGISTRATE
|
||||
.item("cardboard_helmet",
|
||||
p -> new BaseArmorItem(AllArmorMaterials.CARDBOARD, ArmorItem.Type.HELMET, p,
|
||||
p -> new CardboardHelmetItem(AllArmorMaterials.CARDBOARD, ArmorItem.Type.HELMET, p,
|
||||
Create.asResource("cardboard")))
|
||||
.tag(forgeItemTag("armors/helmet"))
|
||||
.register(),
|
||||
|
|
|
@ -202,6 +202,7 @@ public class AllPartialModels {
|
|||
public static final List<PartialModel> CONTRAPTION_CONTROLS_INDICATOR = new ArrayList<>();
|
||||
|
||||
public static final Map<ResourceLocation, PartialModel> PACKAGES = new HashMap<>();
|
||||
public static final List<PartialModel> PACKAGES_AS_LIST = new ArrayList<>();
|
||||
public static final Map<ResourceLocation, PartialModel> PACKAGE_RIGGING = new HashMap<>();
|
||||
|
||||
static {
|
||||
|
@ -226,7 +227,9 @@ public class AllPartialModels {
|
|||
|
||||
for (String size : new String[] { "12x12", "10x12", "12x10", "10x8" }) {
|
||||
ResourceLocation key = Create.asResource("cardboard_package_" + size);
|
||||
PACKAGES.put(key, PartialModel.of(Create.asResource("item/packages/cardboard_" + size)));
|
||||
PartialModel model = PartialModel.of(Create.asResource("item/packages/cardboard_" + size));
|
||||
PACKAGES.put(key, model);
|
||||
PACKAGES_AS_LIST.add(model);
|
||||
PACKAGE_RIGGING.put(key,
|
||||
PartialModel.of(Create.asResource("item/packages/cardboard_" + size + "_rigging")));
|
||||
}
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package com.simibubi.create.content.decoration;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Mirror;
|
||||
import net.minecraft.world.level.block.Rotation;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition.Builder;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.level.block.state.properties.Property;
|
||||
|
||||
public class CardboardBlock extends Block {
|
||||
|
||||
public static final Property<Axis> HORIZONTAL_AXIS = BlockStateProperties.HORIZONTAL_AXIS;
|
||||
|
||||
public CardboardBlock(Properties pProperties) {
|
||||
super(pProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext pContext) {
|
||||
return this.defaultBlockState()
|
||||
.setValue(HORIZONTAL_AXIS, pContext.getHorizontalDirection()
|
||||
.getAxis());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFireSpreadSpeed(BlockState state, BlockGetter level, BlockPos pos, Direction direction) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFlammability(BlockState state, BlockGetter level, BlockPos pos, Direction direction) {
|
||||
return 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createBlockStateDefinition(Builder<Block, BlockState> builder) {
|
||||
super.createBlockStateDefinition(builder.add(HORIZONTAL_AXIS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState rotate(BlockState state, Rotation rot) {
|
||||
return state.setValue(HORIZONTAL_AXIS,
|
||||
rot.rotate(Direction.get(AxisDirection.POSITIVE, state.getValue(HORIZONTAL_AXIS)))
|
||||
.getAxis());
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState mirror(BlockState state, Mirror mirrorIn) {
|
||||
return state;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,23 +1,48 @@
|
|||
package com.simibubi.create.content.equipment.armor;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.google.common.cache.Cache;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.logistics.box.PackageRenderer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
import net.minecraftforge.event.TickEvent.Phase;
|
||||
import net.minecraftforge.event.TickEvent.PlayerTickEvent;
|
||||
import net.minecraftforge.eventbus.api.EventPriority;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
@EventBusSubscriber(value = Dist.CLIENT)
|
||||
public class CardboardArmorHandlerClient {
|
||||
|
||||
private static final Cache<UUID, Integer> BOXES_PLAYERS_ARE_HIDING_AS = CacheBuilder.newBuilder()
|
||||
.expireAfterAccess(1, TimeUnit.SECONDS)
|
||||
.build();
|
||||
|
||||
@SubscribeEvent
|
||||
public static void keepCacheAliveDesignDespiteNotRendering(PlayerTickEvent event) {
|
||||
if (event.phase == Phase.START)
|
||||
return;
|
||||
Player player = event.player;
|
||||
if (!CardboardArmorHandler.testForStealth(player))
|
||||
return;
|
||||
try {
|
||||
getCurrentBoxIndex(player);
|
||||
} catch (ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||
public static void playerRendersAsBoxWhenSneaking(RenderPlayerEvent.Pre event) {
|
||||
Player player = event.getEntity();
|
||||
|
@ -39,10 +64,22 @@ public class CardboardArmorHandlerClient {
|
|||
Math.min(Math.abs(Mth.cos((AnimationTickHolder.getRenderTime() % 256) / 2.0f)) * 2 / 16f, movement * 5),
|
||||
0);
|
||||
|
||||
float f = Mth.lerp(event.getPartialTick(), player.yRotO, player.getYRot());
|
||||
PackageRenderer.renderBox(player, -f + -90, ms, event.getMultiBufferSource(), event.getPackedLight(),
|
||||
AllPartialModels.PACKAGES.get(ForgeRegistries.ITEMS.getKey(AllItems.CARDBOARD_PACKAGE_10x12.get())));
|
||||
float interpolatedYaw = Mth.lerp(event.getPartialTick(), player.yRotO, player.getYRot());
|
||||
|
||||
try {
|
||||
PartialModel model = AllPartialModels.PACKAGES_AS_LIST.get(getCurrentBoxIndex(player));
|
||||
PackageRenderer.renderBox(player, -interpolatedYaw + -90, ms, event.getMultiBufferSource(),
|
||||
event.getPackedLight(), model);
|
||||
} catch (ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
ms.popPose();
|
||||
}
|
||||
|
||||
private static Integer getCurrentBoxIndex(Player player) throws ExecutionException {
|
||||
return BOXES_PLAYERS_ARE_HIDING_AS.get(player.getUUID(),
|
||||
() -> player.level().random.nextInt(AllPartialModels.PACKAGES_AS_LIST.size()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
package com.simibubi.create.content.equipment.armor;
|
||||
|
||||
import com.simibubi.create.Create;
|
||||
|
||||
import net.createmod.catnip.utility.animation.LerpedFloat;
|
||||
import net.createmod.catnip.utility.animation.LerpedFloat.Chaser;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
|
||||
public class CardboardArmorStealthOverlay extends Gui implements IClientItemExtensions {
|
||||
|
||||
public CardboardArmorStealthOverlay() {
|
||||
super(Minecraft.getInstance(), Minecraft.getInstance()
|
||||
.getItemRenderer());
|
||||
}
|
||||
|
||||
private static final ResourceLocation PACKAGE_BLUR_LOCATION = Create.asResource("textures/misc/package_blur.png");
|
||||
|
||||
private static LerpedFloat opacity = LerpedFloat.linear()
|
||||
.startWithValue(0)
|
||||
.chase(0, 0.25f, Chaser.EXP);
|
||||
|
||||
public static void clientTick() {
|
||||
LocalPlayer player = Minecraft.getInstance().player;
|
||||
if (player == null)
|
||||
return;
|
||||
|
||||
opacity.tickChaser();
|
||||
opacity.updateChaseTarget(CardboardArmorHandler.testForStealth(player) ? 1 : 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderHelmetOverlay(ItemStack stack, Player player, int width, int height, float partialTick) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
float value = opacity.getValue(partialTick);
|
||||
if (value == 0)
|
||||
return;
|
||||
screenWidth = width;
|
||||
screenHeight = height;
|
||||
renderTextureOverlay(new GuiGraphics(mc, mc.renderBuffers()
|
||||
.bufferSource()), PACKAGE_BLUR_LOCATION, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package com.simibubi.create.content.equipment.armor;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ArmorMaterial;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
|
||||
public class CardboardHelmetItem extends BaseArmorItem {
|
||||
|
||||
public CardboardHelmetItem(ArmorMaterial armorMaterial, Type type, Properties properties,
|
||||
ResourceLocation textureLoc) {
|
||||
super(armorMaterial, type, properties, textureLoc);
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
|
||||
super.initializeClient(consumer);
|
||||
consumer.accept(new CardboardArmorStealthOverlay());
|
||||
}
|
||||
|
||||
}
|
|
@ -28,7 +28,10 @@ import net.minecraftforge.api.distmarker.Dist;
|
|||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickBlock;
|
||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickBlock.Action;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.LogicalSide;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||
|
||||
@EventBusSubscriber
|
||||
|
@ -49,14 +52,22 @@ public class CardboardSwordItem extends SwordItem {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) {
|
||||
return super.hurtEnemy(pStack, pTarget, pAttacker);
|
||||
public boolean onLeftClickEntity(ItemStack stack, Player player, Entity entity) {
|
||||
AllSoundEvents.CARDBOARD_SWORD.playFrom(entity, 0.75f, 1.85f);
|
||||
return super.onLeftClickEntity(stack, player, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLeftClickEntity(ItemStack stack, Player player, Entity entity) {
|
||||
AllSoundEvents.CARDBOARD_SWORD.playFrom(entity, 0.75f, 1.5f);
|
||||
return super.onLeftClickEntity(stack, player, entity);
|
||||
@SubscribeEvent
|
||||
public static void cardboardSwordsMakeNoiseOnClick(LeftClickBlock event) {
|
||||
ItemStack itemStack = event.getItemStack();
|
||||
if (!AllItems.CARDBOARD_SWORD.isIn(itemStack))
|
||||
return;
|
||||
if (event.getAction() != Action.START)
|
||||
return;
|
||||
if (event.getSide() == LogicalSide.CLIENT)
|
||||
AllSoundEvents.CARDBOARD_SWORD.playAt(event.getLevel(), event.getPos(), 0.5f, 1.85f, false);
|
||||
else
|
||||
AllSoundEvents.CARDBOARD_SWORD.play(event.getLevel(), event.getEntity(), event.getPos(), 0.5f, 1.85f);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
@ -84,6 +95,7 @@ public class CardboardSwordItem extends SwordItem {
|
|||
if (knockbackStrength <= 0)
|
||||
return;
|
||||
|
||||
target.stopRiding();
|
||||
target.knockback(knockbackStrength * 0.5F, Mth.sin(livingAttacker.getYRot() * Mth.DEG_TO_RAD),
|
||||
-Mth.cos(livingAttacker.getYRot() * Mth.DEG_TO_RAD));
|
||||
if ((target.getClassification(false) == MobCategory.MISC
|
||||
|
|
|
@ -14,6 +14,8 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.function.UnaryOperator;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonArray;
|
||||
|
@ -59,8 +61,6 @@ import net.minecraftforge.common.crafting.conditions.ICondition;
|
|||
import net.minecraftforge.common.crafting.conditions.ModLoadedCondition;
|
||||
import net.minecraftforge.common.crafting.conditions.NotCondition;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class StandardRecipeGen extends CreateRecipeProvider {
|
||||
|
||||
|
@ -115,6 +115,16 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("CCC")
|
||||
.pattern("CCC")
|
||||
.pattern("CCC")),
|
||||
|
||||
CARDBOARD_BLOCK = create(AllBlocks.CARDBOARD_BLOCK).unlockedBy(AllItems.CARDBOARD::get)
|
||||
.viaShaped(b -> b.define('C', AllItems.CARDBOARD.get())
|
||||
.pattern("CC")
|
||||
.pattern("CC")),
|
||||
|
||||
CARDBOARD_FROM_BLOCK = create(AllItems.CARDBOARD).withSuffix("_from_block")
|
||||
.returns(4)
|
||||
.unlockedBy(AllItems.CARDBOARD::get)
|
||||
.viaShapeless(b -> b.requires(AllBlocks.CARDBOARD_BLOCK.get())),
|
||||
|
||||
BRASS_COMPACTING =
|
||||
metalCompacting(ImmutableList.of(AllItems.BRASS_NUGGET, AllItems.BRASS_INGOT, AllBlocks.BRASS_BLOCK),
|
||||
|
|
|
@ -17,6 +17,7 @@ import com.simibubi.create.content.contraptions.render.ContraptionRenderInfoMana
|
|||
import com.simibubi.create.content.contraptions.wrench.RadialWrenchHandler;
|
||||
import com.simibubi.create.content.decoration.girder.GirderWrenchBehavior;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankArmorLayer;
|
||||
import com.simibubi.create.content.equipment.armor.CardboardArmorStealthOverlay;
|
||||
import com.simibubi.create.content.equipment.armor.DivingHelmetItem;
|
||||
import com.simibubi.create.content.equipment.armor.NetheriteBacktankFirstPersonRenderer;
|
||||
import com.simibubi.create.content.equipment.armor.NetheriteDivingHandler;
|
||||
|
@ -183,6 +184,7 @@ public class ClientEvents {
|
|||
PackagePortTargetSelectionHandler.tick();
|
||||
LogisticallyLinkedClientHandler.tick();
|
||||
DisplayClothOverlayRenderer.tick();
|
||||
CardboardArmorStealthOverlay.clientTick();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/cardboard_block_front",
|
||||
"1": "create:block/cardboard_block_side",
|
||||
"2": "create:block/cardboard_block_top",
|
||||
"particle": "create:block/cardboard_block_side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#2"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#2"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 216 B |
Binary file not shown.
After Width: | Height: | Size: 205 B |
Binary file not shown.
After Width: | Height: | Size: 223 B |
BIN
src/main/resources/assets/create/textures/misc/package_blur.png
Normal file
BIN
src/main/resources/assets/create/textures/misc/package_blur.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"texture": {
|
||||
"blur": true
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue