From e8cba128680ae08a59bc9edf5f9618f8b2c3cae4 Mon Sep 17 00:00:00 2001 From: nimsolated Date: Tue, 3 Mar 2026 00:51:25 -0800 Subject: [PATCH] update: version 1.3.0 --- README.md | 2 + elements/GravediggerRecipe.mod.json | 8 +- elements/NetherrackJuice.mod.json | 62 +++++++ elements/NetherrackJuiceBucketRecipe.mod.json | 48 +++++ elements/NetherrackJuiceOnTickUpdate.mod.json | 7 + elements/Star.mod.json | 63 +++++++ elements/StarRecipe.mod.json | 28 +++ elements/StarWand.mod.json | 38 ++++ elements/StarWandRecipe.mod.json | 48 +++++ elements/StarWandRightclicked.mod.json | 7 + nims_random_bullshit.mcreator | 167 +++++++++++++++++- .../NimsRandomBullshitMod.java | 4 + .../block/NetherrackJuiceBlock.java | 36 ++++ .../fluid/NetherrackJuiceFluid.java | 49 +++++ .../fluid/types/NetherrackJuiceFluidType.java | 66 +++++++ .../init/NimsRandomBullshitModBlocks.java | 2 + .../init/NimsRandomBullshitModFluidTypes.java | 18 ++ .../init/NimsRandomBullshitModFluids.java | 36 ++++ .../init/NimsRandomBullshitModItems.java | 6 + .../init/NimsRandomBullshitModTabs.java | 3 + .../item/NetherrackJuiceItem.java | 15 ++ .../nimsrandombullshit/item/StarItem.java | 21 +++ .../nimsrandombullshit/item/StarWandItem.java | 77 ++++++++ .../NetherrackJuiceOnTickUpdateProcedure.java | 132 ++++++++++++++ .../StarWandRightclickedProcedure.java | 75 ++++++++ .../blockstates/netherrack_juice.json | 7 + .../nims_random_bullshit/lang/en_us.json | 7 +- .../models/block/netherrack_juice.json | 5 + .../textures/block/netherrack_juice.png | Bin 0 -> 432 bytes .../block/netherrack_juice_flowing.png | Bin 0 -> 438 bytes .../textures/item/netherrack_juice_bucket.png | Bin 0 -> 264 bytes .../textures/item/star.png | Bin 0 -> 187 bytes .../textures/item/star_wand.png | Bin 0 -> 207 bytes .../minecraft/tags/blocks/replaceable.json | 6 + .../data/minecraft/tags/items/pickaxes.json | 1 + .../recipes/gravedigger_recipe.json | 9 +- .../netherrack_juice_bucket_recipe.json | 20 +++ .../recipes/star_recipe.json | 15 ++ .../recipes/star_wand_recipe.json | 21 +++ 39 files changed, 1100 insertions(+), 9 deletions(-) create mode 100644 elements/NetherrackJuice.mod.json create mode 100644 elements/NetherrackJuiceBucketRecipe.mod.json create mode 100644 elements/NetherrackJuiceOnTickUpdate.mod.json create mode 100644 elements/Star.mod.json create mode 100644 elements/StarRecipe.mod.json create mode 100644 elements/StarWand.mod.json create mode 100644 elements/StarWandRecipe.mod.json create mode 100644 elements/StarWandRightclicked.mod.json create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/block/NetherrackJuiceBlock.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/fluid/NetherrackJuiceFluid.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/fluid/types/NetherrackJuiceFluidType.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluidTypes.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluids.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/item/NetherrackJuiceItem.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/item/StarItem.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/item/StarWandItem.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/procedures/NetherrackJuiceOnTickUpdateProcedure.java create mode 100644 src/main/java/net/mcreator/nimsrandombullshit/procedures/StarWandRightclickedProcedure.java create mode 100644 src/main/resources/assets/nims_random_bullshit/blockstates/netherrack_juice.json create mode 100644 src/main/resources/assets/nims_random_bullshit/models/block/netherrack_juice.json create mode 100644 src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice.png create mode 100644 src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice_flowing.png create mode 100644 src/main/resources/assets/nims_random_bullshit/textures/item/netherrack_juice_bucket.png create mode 100644 src/main/resources/assets/nims_random_bullshit/textures/item/star.png create mode 100644 src/main/resources/assets/nims_random_bullshit/textures/item/star_wand.png create mode 100644 src/main/resources/data/minecraft/tags/blocks/replaceable.json create mode 100644 src/main/resources/data/nims_random_bullshit/recipes/netherrack_juice_bucket_recipe.json create mode 100644 src/main/resources/data/nims_random_bullshit/recipes/star_recipe.json create mode 100644 src/main/resources/data/nims_random_bullshit/recipes/star_wand_recipe.json diff --git a/README.md b/README.md index 712e232..4788d15 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,5 @@ In this mod, I add random things for fun. Some can be useful, while some just exist for the fun of it. Below is a list of features so far. This mod was created using [MCreator](https://mcreator.net/). + +CurseForge link: https://www.curseforge.com/minecraft/mc-mods/nims-random-bs diff --git a/elements/GravediggerRecipe.mod.json b/elements/GravediggerRecipe.mod.json index cfb6110..22b67c2 100644 --- a/elements/GravediggerRecipe.mod.json +++ b/elements/GravediggerRecipe.mod.json @@ -20,14 +20,14 @@ { "value": "" }, - { - "value": "Items.GHAST_TEAR" - }, { "value": "Items.BONE" }, { - "value": "Items.GHAST_TEAR" + "value": "Items.NETHERITE_SHOVEL" + }, + { + "value": "Items.BONE" }, { "value": "Items.GHAST_TEAR" diff --git a/elements/NetherrackJuice.mod.json b/elements/NetherrackJuice.mod.json new file mode 100644 index 0000000..923a579 --- /dev/null +++ b/elements/NetherrackJuice.mod.json @@ -0,0 +1,62 @@ +{ + "_fv": 73, + "_type": "fluid", + "definition": { + "name": "Netherrack Juice", + "bucketName": "Netherrack Juice Bucket", + "textureStill": "netherrack_juice", + "textureFlowing": "netherrack_juice_flowing", + "textureRenderOverlay": "netherrack_juice_overlay", + "hasFog": true, + "fogColor": { + "value": -13434880, + "falpha": 0.0 + }, + "fogStartDistance": { + "fixedValue": 0.0 + }, + "fogEndDistance": { + "fixedValue": 6.0 + }, + "tintType": "No tint", + "canMultiply": true, + "flowRate": 5, + "levelDecrease": 1, + "slopeFindDistance": 4, + "spawnParticles": false, + "dripParticle": { + "value": "EXPLOSION_NORMAL" + }, + "flowStrength": 1.0, + "luminosity": 0, + "density": 1000, + "viscosity": 1000, + "temperature": 666, + "type": "WATER", + "generateBucket": true, + "textureBucket": "netherrack_juice_bucket", + "creativeTabs": [ + { + "value": "TOOLS" + } + ], + "emptySound": { + "value": "" + }, + "rarity": "COMMON", + "specialInformation": { + "fixedValue": [] + }, + "resistance": 100.0, + "luminance": 0, + "lightOpacity": 1, + "emissiveRendering": false, + "tickRate": 1, + "flammability": 0, + "fireSpreadSpeed": 0, + "colorOnMap": "RED", + "onTickUpdate": { + "name": "NetherrackJuiceOnTickUpdate" + } + } +} \ No newline at end of file diff --git a/elements/NetherrackJuiceBucketRecipe.mod.json b/elements/NetherrackJuiceBucketRecipe.mod.json new file mode 100644 index 0000000..8049747 --- /dev/null +++ b/elements/NetherrackJuiceBucketRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 73, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "MISC", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "" + }, + { + "value": "CUSTOM:CondensedCondensedCondensedNetherrack" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "Items.WATER_BUCKET" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:NetherrackJuice.bucket" + }, + "name": "netherrack_juice_bucket_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/NetherrackJuiceOnTickUpdate.mod.json b/elements/NetherrackJuiceOnTickUpdate.mod.json new file mode 100644 index 0000000..9888d52 --- /dev/null +++ b/elements/NetherrackJuiceOnTickUpdate.mod.json @@ -0,0 +1,7 @@ +{ + "_fv": 73, + "_type": "procedure", + "definition": { + "procedurexml": "no_ext_triggerADD1Blocks.FLOWING_LAVATRUEFALSEADD1Blocks.NETHERRACKblock.lava.extinguishblock0.71.22MINUS1Blocks.FLOWING_LAVATRUEFALSEMINUS1Blocks.NETHERRACKblock.lava.extinguishblock0.71.22ADD1Blocks.FLOWING_LAVATRUEFALSEADD1Blocks.NETHERRACKblock.lava.extinguishblock0.71.22MINUS1Blocks.FLOWING_LAVATRUEFALSEMINUS1Blocks.NETHERRACKblock.lava.extinguishblock0.71.22MINUS1Blocks.FLOWING_LAVATRUEFALSEMINUS1Blocks.NETHERRACKblock.lava.extinguishblock0.71.22" + } +} \ No newline at end of file diff --git a/elements/Star.mod.json b/elements/Star.mod.json new file mode 100644 index 0000000..5ce995c --- /dev/null +++ b/elements/Star.mod.json @@ -0,0 +1,63 @@ +{ + "_fv": 73, + "_type": "item", + "definition": { + "renderType": 0, + "texture": "star", + "customModelName": "Normal", + "customProperties": {}, + "states": [], + "name": "Star", + "rarity": "EPIC", + "creativeTabs": [ + { + "value": "MATERIALS" + } + ], + "stackSize": 64, + "enchantability": 0, + "useDuration": 0, + "toolType": 1.0, + "damageCount": 0, + "recipeRemainder": { + "value": "" + }, + "destroyAnyBlock": false, + "immuneToFire": true, + "stayInGridWhenCrafting": false, + "damageOnCrafting": false, + "enableMeleeDamage": false, + "damageVsEntity": 0.0, + "specialInformation": { + "fixedValue": [] + }, + "glowCondition": { + "fixedValue": true + }, + "inventorySize": 9, + "inventoryStackSize": 64, + "enableRanged": false, + "shootConstantly": false, + "rangedItemChargesPower": false, + "projectile": { + "value": "CUSTOM:ShitProjectile" + }, + "projectileDisableAmmoCheck": false, + "isFood": false, + "nutritionalValue": 4, + "saturation": 0.3, + "eatResultItem": { + "value": "" + }, + "isMeat": false, + "isAlwaysEdible": false, + "animation": "none", + "isMusicDisc": false, + "musicDiscMusic": { + "value": "" + }, + "musicDiscDescription": "", + "musicDiscLengthInTicks": 100, + "musicDiscAnalogOutput": 0 + } +} \ No newline at end of file diff --git a/elements/StarRecipe.mod.json b/elements/StarRecipe.mod.json new file mode 100644 index 0000000..6c22454 --- /dev/null +++ b/elements/StarRecipe.mod.json @@ -0,0 +1,28 @@ +{ + "_fv": 73, + "_type": "recipe", + "definition": { + "recipeType": "Smithing", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "MISC", + "recipeShapeless": false, + "smithingInputStack": { + "value": "Items.NETHER_STAR" + }, + "smithingInputAdditionStack": { + "value": "Items.DYE#11" + }, + "smithingInputTemplateStack": { + "value": "Items.EXPERIENCE_BOTTLE" + }, + "smithingReturnStack": { + "value": "CUSTOM:Star" + }, + "name": "star_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/StarWand.mod.json b/elements/StarWand.mod.json new file mode 100644 index 0000000..46de20b --- /dev/null +++ b/elements/StarWand.mod.json @@ -0,0 +1,38 @@ +{ + "_fv": 73, + "_type": "tool", + "definition": { + "toolType": "Special", + "renderType": 0, + "blockingRenderType": 0, + "texture": "star_wand", + "customModelName": "Normal", + "blockingModelName": "Normal blocking", + "name": "Star Wand", + "specialInformation": { + "fixedValue": [] + }, + "creativeTabs": [ + { + "value": "TOOLS" + } + ], + "efficiency": 1.0, + "attackSpeed": 1.0, + "enchantability": 1, + "damageVsEntity": 0.0, + "usageCount": 0, + "glowCondition": { + "fixedValue": true + }, + "repairItems": [], + "immuneToFire": true, + "blockDropsTier": "WOOD", + "blocksAffected": [], + "stayInGridWhenCrafting": false, + "damageOnCrafting": false, + "onRightClickedInAir": { + "name": "StarWandRightclicked" + } + } +} \ No newline at end of file diff --git a/elements/StarWandRecipe.mod.json b/elements/StarWandRecipe.mod.json new file mode 100644 index 0000000..bc60b20 --- /dev/null +++ b/elements/StarWandRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 73, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "MISC", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "" + }, + { + "value": "CUSTOM:Star" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "Items.STICK" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "Items.STICK" + }, + { + "value": "" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:StarWand" + }, + "name": "star_wand_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/StarWandRightclicked.mod.json b/elements/StarWandRightclicked.mod.json new file mode 100644 index 0000000..c1e8959 --- /dev/null +++ b/elements/StarWandRightclicked.mod.json @@ -0,0 +1,7 @@ +{ + "_fv": 73, + "_type": "procedure", + "definition": { + "procedurexml": "rightClickedEntityno_ext_triggerlocal:rightClickedEntityEntityLivingNONEOUTLINE5NONEOUTLINE5NONEOUTLINE54local:rightClickedEntityEQlocal:rightClickedEntitylocal:rightClickedEntityABSORPTION1300FALSEFALSElocal:rightClickedEntity40block.amethyst_block.resonateneutral3MULTIPLY2DIVIDEMINUS2241212local:rightClickedEntityADDlocal:rightClickedEntity340block.amethyst_block.resonateneutral3MULTIPLY2DIVIDEMINUS2241212" + } +} \ No newline at end of file diff --git a/nims_random_bullshit.mcreator b/nims_random_bullshit.mcreator index 1fe2ad7..d8047ac 100644 --- a/nims_random_bullshit.mcreator +++ b/nims_random_bullshit.mcreator @@ -1245,11 +1245,170 @@ ] }, "path": "~/Other" + }, + { + "name": "Star", + "type": "item", + "compiles": true, + "locked_code": false, + "registry_name": "star", + "metadata": { + "files": [ + "src/main/resources/assets/nims_random_bullshit/models/item/star.json", + "src/main/java/net/mcreator/nimsrandombullshit/item/StarItem.java" + ] + }, + "path": "~/Other" + }, + { + "name": "StarRecipe", + "type": "recipe", + "compiles": true, + "locked_code": false, + "registry_name": "star_recipe", + "metadata": { + "files": [ + "src/main/resources/data/nims_random_bullshit/recipes/star_recipe.json" + ] + }, + "path": "~/Other" + }, + { + "name": "StarWand", + "type": "tool", + "compiles": true, + "locked_code": false, + "registry_name": "star_wand", + "metadata": { + "files": [ + "src/main/java/net/mcreator/nimsrandombullshit/item/StarWandItem.java", + "src/main/resources/assets/nims_random_bullshit/models/item/star_wand.json" + ] + }, + "path": "~/Other" + }, + { + "name": "StarWandRightclicked", + "type": "procedure", + "compiles": true, + "locked_code": false, + "registry_name": "star_wand_rightclicked", + "metadata": { + "files": [ + "src/main/java/net/mcreator/nimsrandombullshit/procedures/StarWandRightclickedProcedure.java" + ], + "dependencies": [ + { + "name": "entity", + "type": "entity" + }, + { + "name": "itemstack", + "type": "itemstack" + }, + { + "name": "x", + "type": "number" + }, + { + "name": "y", + "type": "number" + }, + { + "name": "z", + "type": "number" + }, + { + "name": "world", + "type": "world" + } + ] + }, + "path": "~/Other" + }, + { + "name": "StarWandRecipe", + "type": "recipe", + "compiles": true, + "locked_code": false, + "registry_name": "star_wand_recipe", + "metadata": { + "files": [ + "src/main/resources/data/nims_random_bullshit/recipes/star_wand_recipe.json" + ] + }, + "path": "~/Other" + }, + { + "name": "NetherrackJuice", + "type": "fluid", + "compiles": true, + "locked_code": false, + "registry_name": "netherrack_juice", + "metadata": { + "files": [ + "src/main/java/net/mcreator/nimsrandombullshit/block/NetherrackJuiceBlock.java", + "src/main/resources/assets/nims_random_bullshit/blockstates/netherrack_juice.json", + "src/main/java/net/mcreator/nimsrandombullshit/fluid/NetherrackJuiceFluid.java", + "src/main/java/net/mcreator/nimsrandombullshit/item/NetherrackJuiceItem.java", + "src/main/resources/assets/nims_random_bullshit/models/block/netherrack_juice.json", + "src/main/java/net/mcreator/nimsrandombullshit/fluid/types/NetherrackJuiceFluidType.java", + "src/main/resources/assets/nims_random_bullshit/models/item/netherrack_juice_bucket.json" + ] + }, + "path": "~/Other" + }, + { + "name": "NetherrackJuiceBucketRecipe", + "type": "recipe", + "compiles": true, + "locked_code": false, + "registry_name": "netherrack_juice_bucket_recipe", + "metadata": { + "files": [ + "src/main/resources/data/nims_random_bullshit/recipes/netherrack_juice_bucket_recipe.json" + ] + }, + "path": "~/Other" + }, + { + "name": "NetherrackJuiceOnTickUpdate", + "type": "procedure", + "compiles": true, + "locked_code": false, + "registry_name": "netherrack_juice_on_tick_update", + "metadata": { + "files": [ + "src/main/java/net/mcreator/nimsrandombullshit/procedures/NetherrackJuiceOnTickUpdateProcedure.java" + ], + "dependencies": [ + { + "name": "x", + "type": "number" + }, + { + "name": "y", + "type": "number" + }, + { + "name": "z", + "type": "number" + }, + { + "name": "world", + "type": "world" + } + ] + }, + "path": "~/Other" } ], "variable_elements": [], "sound_elements": [], "tag_elements": { + "BLOCKS:minecraft:replaceable": [ + "~CUSTOM:NetherrackJuice" + ], "BLOCKS:minecraft:mineable/pickaxe": [ "~CUSTOM:HexaCondensedNetherrack", "~CUSTOM:PentaCondensedNetherrack", @@ -1259,6 +1418,7 @@ "~CUSTOM:CondensedNetherrack" ], "ITEMS:minecraft:pickaxes": [ + "~CUSTOM:StarWand", "~CUSTOM:NetherrackitePickaxe" ], "ITEMS:minecraft:shovels": [ @@ -1278,8 +1438,10 @@ "en_us": { "block.nims_random_bullshit.condensed_condensed_netherrack": "Condensed Condensed Netherrack", "item.nims_random_bullshit.gravedigger": "Gravedigger", - "gui.nims_random_bullshit.ore_miner_gui.button_mine": "Mine", + "fluid.nims_random_bullshit.netherrack_juice": "Netherrack Juice", + "item.nims_random_bullshit.star_wand": "Star Wand", "block.nims_random_bullshit.quadra_condensed_netherrack": "Quadra-condensed Netherrack", + "gui.nims_random_bullshit.ore_miner_gui.button_mine": "Mine", "block.nims_random_bullshit.penta_condensed_netherrack": "Penta-condensed Netherrack", "item.nims_random_bullshit.magic_dust": "Magic Dust", "enchantment.nims_random_bullshit.passive_income_enchantment": "Passive Income", @@ -1289,14 +1451,17 @@ "block.nims_random_bullshit.broken_glass": "Broken Glass", "block.nims_random_bullshit.hexa_condensed_netherrack": "Hexa-condensed Netherrack", "block.nims_random_bullshit.ore_miner": "Ore Miner", + "block.nims_random_bullshit.netherrack_juice": "Netherrack Juice", "effect.nims_random_bullshit.summoned_entity_effect": "Summoned Entity", "item.nims_random_bullshit.sand_dust": "Sand Dust", "item.nims_random_bullshit.magic_flesh": "Magic Flesh", "item.nims_random_bullshit.ghoul_spawn_egg": "Ghoul Spawn Egg", "item.nims_random_bullshit.block_eater": "Block Eater", "item.nims_random_bullshit.golden_berries": "Golden Berries", + "item.nims_random_bullshit.netherrack_juice_bucket": "Netherrack Juice Bucket", "block.nims_random_bullshit.condensed_condensed_condensed_netherrack": "Condensed Condensed Condensed Netherrack", "entity.nims_random_bullshit.ghoul": "Ghoul", + "item.nims_random_bullshit.star": "Star", "gui.nims_random_bullshit.shit_gui.label_uh_ohh_stinky": "UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! ", "item.nims_random_bullshit.lapis_lazuli_nugget": "Lapis Lazuli Nugget", "item.nims_random_bullshit.gravedigger.description_1": "We must dig!", diff --git a/src/main/java/net/mcreator/nimsrandombullshit/NimsRandomBullshitMod.java b/src/main/java/net/mcreator/nimsrandombullshit/NimsRandomBullshitMod.java index 9789cf5..327f9a8 100644 --- a/src/main/java/net/mcreator/nimsrandombullshit/NimsRandomBullshitMod.java +++ b/src/main/java/net/mcreator/nimsrandombullshit/NimsRandomBullshitMod.java @@ -21,6 +21,8 @@ import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModTabs; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModMobEffects; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModMenus; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModItems; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluids; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluidTypes; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModEntities; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModEnchantments; import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModBlocks; @@ -56,6 +58,8 @@ public class NimsRandomBullshitMod { NimsRandomBullshitModMobEffects.REGISTRY.register(bus); NimsRandomBullshitModMenus.REGISTRY.register(bus); + NimsRandomBullshitModFluids.REGISTRY.register(bus); + NimsRandomBullshitModFluidTypes.REGISTRY.register(bus); // Start of user code block mod init // End of user code block mod init diff --git a/src/main/java/net/mcreator/nimsrandombullshit/block/NetherrackJuiceBlock.java b/src/main/java/net/mcreator/nimsrandombullshit/block/NetherrackJuiceBlock.java new file mode 100644 index 0000000..e39722e --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/block/NetherrackJuiceBlock.java @@ -0,0 +1,36 @@ + +package net.mcreator.nimsrandombullshit.block; + +import net.minecraft.world.level.material.PushReaction; +import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.LiquidBlock; +import net.minecraft.world.level.Level; +import net.minecraft.util.RandomSource; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.core.BlockPos; + +import net.mcreator.nimsrandombullshit.procedures.NetherrackJuiceOnTickUpdateProcedure; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluids; + +public class NetherrackJuiceBlock extends LiquidBlock { + public NetherrackJuiceBlock() { + super(() -> NimsRandomBullshitModFluids.NETHERRACK_JUICE.get(), + BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).strength(100f).noCollission().noLootTable().liquid().pushReaction(PushReaction.DESTROY).sound(SoundType.EMPTY).replaceable()); + } + + @Override + public void onPlace(BlockState blockstate, Level world, BlockPos pos, BlockState oldState, boolean moving) { + super.onPlace(blockstate, world, pos, oldState, moving); + world.scheduleTick(pos, this, 1); + } + + @Override + public void tick(BlockState blockstate, ServerLevel world, BlockPos pos, RandomSource random) { + super.tick(blockstate, world, pos, random); + NetherrackJuiceOnTickUpdateProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ()); + world.scheduleTick(pos, this, 1); + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/fluid/NetherrackJuiceFluid.java b/src/main/java/net/mcreator/nimsrandombullshit/fluid/NetherrackJuiceFluid.java new file mode 100644 index 0000000..6881083 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/fluid/NetherrackJuiceFluid.java @@ -0,0 +1,49 @@ + +package net.mcreator.nimsrandombullshit.fluid; + +import net.minecraftforge.fluids.ForgeFlowingFluid; + +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.LiquidBlock; + +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModItems; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluids; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluidTypes; +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModBlocks; + +public abstract class NetherrackJuiceFluid extends ForgeFlowingFluid { + public static final ForgeFlowingFluid.Properties PROPERTIES = new ForgeFlowingFluid.Properties(() -> NimsRandomBullshitModFluidTypes.NETHERRACK_JUICE_TYPE.get(), () -> NimsRandomBullshitModFluids.NETHERRACK_JUICE.get(), + () -> NimsRandomBullshitModFluids.FLOWING_NETHERRACK_JUICE.get()).explosionResistance(100f).bucket(() -> NimsRandomBullshitModItems.NETHERRACK_JUICE_BUCKET.get()) + .block(() -> (LiquidBlock) NimsRandomBullshitModBlocks.NETHERRACK_JUICE.get()); + + private NetherrackJuiceFluid() { + super(PROPERTIES); + } + + public static class Source extends NetherrackJuiceFluid { + public int getAmount(FluidState state) { + return 8; + } + + public boolean isSource(FluidState state) { + return true; + } + } + + public static class Flowing extends NetherrackJuiceFluid { + protected void createFluidStateDefinition(StateDefinition.Builder builder) { + super.createFluidStateDefinition(builder); + builder.add(LEVEL); + } + + public int getAmount(FluidState state) { + return state.getValue(LEVEL); + } + + public boolean isSource(FluidState state) { + return false; + } + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/fluid/types/NetherrackJuiceFluidType.java b/src/main/java/net/mcreator/nimsrandombullshit/fluid/types/NetherrackJuiceFluidType.java new file mode 100644 index 0000000..c616d7b --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/fluid/types/NetherrackJuiceFluidType.java @@ -0,0 +1,66 @@ + +package net.mcreator.nimsrandombullshit.fluid.types; + +import org.joml.Vector3f; + +import net.minecraftforge.fluids.FluidType; +import net.minecraftforge.common.SoundActions; +import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions; + +import net.minecraft.world.level.Level; +import net.minecraft.world.entity.Entity; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.client.renderer.FogRenderer; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.Minecraft; +import net.minecraft.client.Camera; + +import java.util.function.Consumer; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.shaders.FogShape; + +public class NetherrackJuiceFluidType extends FluidType { + public NetherrackJuiceFluidType() { + super(FluidType.Properties.create().fallDistanceModifier(0F).canExtinguish(true).supportsBoating(true).canHydrate(true).motionScale(0.007D).temperature(666).canConvertToSource(true).sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL) + .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY).sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH)); + } + + @Override + public void initializeClient(Consumer consumer) { + consumer.accept(new IClientFluidTypeExtensions() { + private static final ResourceLocation STILL_TEXTURE = new ResourceLocation("nims_random_bullshit:block/netherrack_juice"); + private static final ResourceLocation FLOWING_TEXTURE = new ResourceLocation("nims_random_bullshit:block/netherrack_juice_flowing"); + private static final ResourceLocation RENDER_OVERLAY_TEXTURE = new ResourceLocation("nims_random_bullshit:textures/netherrack_juice_overlay.png"); + + @Override + public ResourceLocation getStillTexture() { + return STILL_TEXTURE; + } + + @Override + public ResourceLocation getFlowingTexture() { + return FLOWING_TEXTURE; + } + + @Override + public ResourceLocation getRenderOverlayTexture(Minecraft mc) { + return RENDER_OVERLAY_TEXTURE; + } + + @Override + public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) { + return new Vector3f(0.2f, 0f, 0f); + } + + public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) { + Entity entity = camera.getEntity(); + Level world = entity.level(); + RenderSystem.setShaderFogShape(FogShape.SPHERE); + RenderSystem.setShaderFogStart(0f); + RenderSystem.setShaderFogEnd(6f); + } + }); + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModBlocks.java b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModBlocks.java index 8349073..9cb9054 100644 --- a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModBlocks.java +++ b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModBlocks.java @@ -13,6 +13,7 @@ import net.minecraft.world.level.block.Block; import net.mcreator.nimsrandombullshit.block.QuadraCondensedNetherrackBlock; import net.mcreator.nimsrandombullshit.block.PentaCondensedNetherrackBlock; import net.mcreator.nimsrandombullshit.block.OreMinerBlock; +import net.mcreator.nimsrandombullshit.block.NetherrackJuiceBlock; import net.mcreator.nimsrandombullshit.block.HexaCondensedNetherrackBlock; import net.mcreator.nimsrandombullshit.block.CondensedNetherrackBlock; import net.mcreator.nimsrandombullshit.block.CondensedCondensedNetherrackBlock; @@ -30,6 +31,7 @@ public class NimsRandomBullshitModBlocks { public static final RegistryObject PENTA_CONDENSED_NETHERRACK = REGISTRY.register("penta_condensed_netherrack", () -> new PentaCondensedNetherrackBlock()); public static final RegistryObject HEXA_CONDENSED_NETHERRACK = REGISTRY.register("hexa_condensed_netherrack", () -> new HexaCondensedNetherrackBlock()); public static final RegistryObject ORE_MINER = REGISTRY.register("ore_miner", () -> new OreMinerBlock()); + public static final RegistryObject NETHERRACK_JUICE = REGISTRY.register("netherrack_juice", () -> new NetherrackJuiceBlock()); // Start of user code block custom blocks // End of user code block custom blocks } diff --git a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluidTypes.java b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluidTypes.java new file mode 100644 index 0000000..a819f65 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluidTypes.java @@ -0,0 +1,18 @@ + +/* + * MCreator note: This file will be REGENERATED on each build. + */ +package net.mcreator.nimsrandombullshit.init; + +import net.minecraftforge.registries.RegistryObject; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.fluids.FluidType; + +import net.mcreator.nimsrandombullshit.fluid.types.NetherrackJuiceFluidType; +import net.mcreator.nimsrandombullshit.NimsRandomBullshitMod; + +public class NimsRandomBullshitModFluidTypes { + public static final DeferredRegister REGISTRY = DeferredRegister.create(ForgeRegistries.Keys.FLUID_TYPES, NimsRandomBullshitMod.MODID); + public static final RegistryObject NETHERRACK_JUICE_TYPE = REGISTRY.register("netherrack_juice", () -> new NetherrackJuiceFluidType()); +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluids.java b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluids.java new file mode 100644 index 0000000..7fe0634 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModFluids.java @@ -0,0 +1,36 @@ + +/* + * MCreator note: This file will be REGENERATED on each build. + */ +package net.mcreator.nimsrandombullshit.init; + +import net.minecraftforge.registries.RegistryObject; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.api.distmarker.Dist; + +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FlowingFluid; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.ItemBlockRenderTypes; + +import net.mcreator.nimsrandombullshit.fluid.NetherrackJuiceFluid; +import net.mcreator.nimsrandombullshit.NimsRandomBullshitMod; + +public class NimsRandomBullshitModFluids { + public static final DeferredRegister REGISTRY = DeferredRegister.create(ForgeRegistries.FLUIDS, NimsRandomBullshitMod.MODID); + public static final RegistryObject NETHERRACK_JUICE = REGISTRY.register("netherrack_juice", () -> new NetherrackJuiceFluid.Source()); + public static final RegistryObject FLOWING_NETHERRACK_JUICE = REGISTRY.register("flowing_netherrack_juice", () -> new NetherrackJuiceFluid.Flowing()); + + @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) + public static class FluidsClientSideHandler { + @SubscribeEvent + public static void clientSetup(FMLClientSetupEvent event) { + ItemBlockRenderTypes.setRenderLayer(NETHERRACK_JUICE.get(), RenderType.translucent()); + ItemBlockRenderTypes.setRenderLayer(FLOWING_NETHERRACK_JUICE.get(), RenderType.translucent()); + } + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModItems.java b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModItems.java index 00b3caf..d662868 100644 --- a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModItems.java +++ b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModItems.java @@ -13,10 +13,13 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.item.Item; import net.minecraft.world.item.BlockItem; +import net.mcreator.nimsrandombullshit.item.StarWandItem; +import net.mcreator.nimsrandombullshit.item.StarItem; import net.mcreator.nimsrandombullshit.item.ShitItem; import net.mcreator.nimsrandombullshit.item.SandDustItem; import net.mcreator.nimsrandombullshit.item.NetherrackitePickaxeItem; import net.mcreator.nimsrandombullshit.item.NetherrackiteItem; +import net.mcreator.nimsrandombullshit.item.NetherrackJuiceItem; import net.mcreator.nimsrandombullshit.item.MagicFleshItem; import net.mcreator.nimsrandombullshit.item.MagicDustItem; import net.mcreator.nimsrandombullshit.item.LapisLazuliNuggetItem; @@ -46,6 +49,9 @@ public class NimsRandomBullshitModItems { public static final RegistryObject ORE_MINER = block(NimsRandomBullshitModBlocks.ORE_MINER); public static final RegistryObject GHOUL_SPAWN_EGG = REGISTRY.register("ghoul_spawn_egg", () -> new ForgeSpawnEggItem(NimsRandomBullshitModEntities.GHOUL, -16777216, -13421773, new Item.Properties())); public static final RegistryObject GRAVEDIGGER = REGISTRY.register("gravedigger", () -> new GravediggerItem()); + public static final RegistryObject STAR = REGISTRY.register("star", () -> new StarItem()); + public static final RegistryObject STAR_WAND = REGISTRY.register("star_wand", () -> new StarWandItem()); + public static final RegistryObject NETHERRACK_JUICE_BUCKET = REGISTRY.register("netherrack_juice_bucket", () -> new NetherrackJuiceItem()); // Start of user code block custom items // End of user code block custom items diff --git a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModTabs.java b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModTabs.java index b8fbe56..b938d34 100644 --- a/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModTabs.java +++ b/src/main/java/net/mcreator/nimsrandombullshit/init/NimsRandomBullshitModTabs.java @@ -34,11 +34,14 @@ public class NimsRandomBullshitModTabs { tabData.accept(NimsRandomBullshitModItems.NETHERRACKITE_PICKAXE.get()); tabData.accept(NimsRandomBullshitModItems.SHIT.get()); tabData.accept(NimsRandomBullshitModItems.GRAVEDIGGER.get()); + tabData.accept(NimsRandomBullshitModItems.STAR_WAND.get()); + tabData.accept(NimsRandomBullshitModItems.NETHERRACK_JUICE_BUCKET.get()); } else if (tabData.getTabKey() == CreativeModeTabs.INGREDIENTS) { tabData.accept(NimsRandomBullshitModItems.NETHERRACKITE.get()); tabData.accept(NimsRandomBullshitModItems.SAND_DUST.get()); tabData.accept(NimsRandomBullshitModItems.LAPIS_LAZULI_NUGGET.get()); tabData.accept(NimsRandomBullshitModItems.MAGIC_DUST.get()); + tabData.accept(NimsRandomBullshitModItems.STAR.get()); } else if (tabData.getTabKey() == CreativeModeTabs.FOOD_AND_DRINKS) { tabData.accept(NimsRandomBullshitModItems.MAGIC_FLESH.get()); tabData.accept(NimsRandomBullshitModItems.GOLDEN_BERRIES.get()); diff --git a/src/main/java/net/mcreator/nimsrandombullshit/item/NetherrackJuiceItem.java b/src/main/java/net/mcreator/nimsrandombullshit/item/NetherrackJuiceItem.java new file mode 100644 index 0000000..713a6e6 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/item/NetherrackJuiceItem.java @@ -0,0 +1,15 @@ + +package net.mcreator.nimsrandombullshit.item; + +import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.BucketItem; + +import net.mcreator.nimsrandombullshit.init.NimsRandomBullshitModFluids; + +public class NetherrackJuiceItem extends BucketItem { + public NetherrackJuiceItem() { + super(NimsRandomBullshitModFluids.NETHERRACK_JUICE, new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1).rarity(Rarity.COMMON)); + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/item/StarItem.java b/src/main/java/net/mcreator/nimsrandombullshit/item/StarItem.java new file mode 100644 index 0000000..21aea5d --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/item/StarItem.java @@ -0,0 +1,21 @@ + +package net.mcreator.nimsrandombullshit.item; + +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.api.distmarker.Dist; + +import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; + +public class StarItem extends Item { + public StarItem() { + super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC)); + } + + @Override + @OnlyIn(Dist.CLIENT) + public boolean isFoil(ItemStack itemstack) { + return true; + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/item/StarWandItem.java b/src/main/java/net/mcreator/nimsrandombullshit/item/StarWandItem.java new file mode 100644 index 0000000..d3a8a72 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/item/StarWandItem.java @@ -0,0 +1,77 @@ + +package net.mcreator.nimsrandombullshit.item; + +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.api.distmarker.Dist; + +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.Level; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.InteractionHand; +import net.minecraft.core.BlockPos; + +import net.mcreator.nimsrandombullshit.procedures.StarWandRightclickedProcedure; + +import com.google.common.collect.Multimap; +import com.google.common.collect.ImmutableMultimap; + +public class StarWandItem extends Item { + public StarWandItem() { + super(new Item.Properties().durability(0).fireResistant()); + } + + @Override + public float getDestroySpeed(ItemStack itemstack, BlockState blockstate) { + return 1; + } + + @Override + public boolean mineBlock(ItemStack itemstack, Level world, BlockState blockstate, BlockPos pos, LivingEntity entity) { + itemstack.hurtAndBreak(1, entity, i -> i.broadcastBreakEvent(EquipmentSlot.MAINHAND)); + return true; + } + + @Override + public boolean hurtEnemy(ItemStack itemstack, LivingEntity entity, LivingEntity sourceentity) { + itemstack.hurtAndBreak(2, entity, i -> i.broadcastBreakEvent(EquipmentSlot.MAINHAND)); + return true; + } + + @Override + public InteractionResultHolder use(Level world, Player entity, InteractionHand hand) { + InteractionResultHolder ar = super.use(world, entity, hand); + StarWandRightclickedProcedure.execute(world, entity.getX(), entity.getY(), entity.getZ(), entity, ar.getObject()); + return ar; + } + + @Override + public int getEnchantmentValue() { + return 1; + } + + @Override + public Multimap getDefaultAttributeModifiers(EquipmentSlot equipmentSlot) { + if (equipmentSlot == EquipmentSlot.MAINHAND) { + ImmutableMultimap.Builder builder = ImmutableMultimap.builder(); + builder.putAll(super.getDefaultAttributeModifiers(equipmentSlot)); + builder.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(BASE_ATTACK_DAMAGE_UUID, "Tool modifier", -1f, AttributeModifier.Operation.ADDITION)); + builder.put(Attributes.ATTACK_SPEED, new AttributeModifier(BASE_ATTACK_SPEED_UUID, "Tool modifier", -3, AttributeModifier.Operation.ADDITION)); + return builder.build(); + } + return super.getDefaultAttributeModifiers(equipmentSlot); + } + + @Override + @OnlyIn(Dist.CLIENT) + public boolean isFoil(ItemStack itemstack) { + return true; + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/procedures/NetherrackJuiceOnTickUpdateProcedure.java b/src/main/java/net/mcreator/nimsrandombullshit/procedures/NetherrackJuiceOnTickUpdateProcedure.java new file mode 100644 index 0000000..6b5c2c0 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/procedures/NetherrackJuiceOnTickUpdateProcedure.java @@ -0,0 +1,132 @@ +package net.mcreator.nimsrandombullshit.procedures; + +import net.minecraftforge.registries.ForgeRegistries; + +import net.minecraft.world.level.block.state.properties.Property; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.Level; +import net.minecraft.util.RandomSource; +import net.minecraft.util.Mth; +import net.minecraft.sounds.SoundSource; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.BlockPos; + +import java.util.Map; + +public class NetherrackJuiceOnTickUpdateProcedure { + public static void execute(LevelAccessor world, double x, double y, double z) { + if ((world.getFluidState(BlockPos.containing(x + 1, y, z)).createLegacyBlock()).getBlock() == Blocks.LAVA) { + { + BlockPos _bp = BlockPos.containing(x + 1, y, z); + BlockState _bs = Blocks.NETHERRACK.defaultBlockState(); + BlockState _bso = world.getBlockState(_bp); + for (Map.Entry, Comparable> entry : _bso.getValues().entrySet()) { + Property _property = _bs.getBlock().getStateDefinition().getProperty(entry.getKey().getName()); + if (_property != null && _bs.getValue(_property) != null) + try { + _bs = _bs.setValue(_property, (Comparable) entry.getValue()); + } catch (Exception e) { + } + } + world.setBlock(_bp, _bs, 3); + } + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2)); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2), false); + } + } + } else if ((world.getFluidState(BlockPos.containing(x - 1, y, z)).createLegacyBlock()).getBlock() == Blocks.LAVA) { + { + BlockPos _bp = BlockPos.containing(x - 1, y, z); + BlockState _bs = Blocks.NETHERRACK.defaultBlockState(); + BlockState _bso = world.getBlockState(_bp); + for (Map.Entry, Comparable> entry : _bso.getValues().entrySet()) { + Property _property = _bs.getBlock().getStateDefinition().getProperty(entry.getKey().getName()); + if (_property != null && _bs.getValue(_property) != null) + try { + _bs = _bs.setValue(_property, (Comparable) entry.getValue()); + } catch (Exception e) { + } + } + world.setBlock(_bp, _bs, 3); + } + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2)); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2), false); + } + } + } else if ((world.getFluidState(BlockPos.containing(x, y, z + 1)).createLegacyBlock()).getBlock() == Blocks.LAVA) { + { + BlockPos _bp = BlockPos.containing(x, y, z + 1); + BlockState _bs = Blocks.NETHERRACK.defaultBlockState(); + BlockState _bso = world.getBlockState(_bp); + for (Map.Entry, Comparable> entry : _bso.getValues().entrySet()) { + Property _property = _bs.getBlock().getStateDefinition().getProperty(entry.getKey().getName()); + if (_property != null && _bs.getValue(_property) != null) + try { + _bs = _bs.setValue(_property, (Comparable) entry.getValue()); + } catch (Exception e) { + } + } + world.setBlock(_bp, _bs, 3); + } + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2)); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2), false); + } + } + } else if ((world.getFluidState(BlockPos.containing(x, y, z - 1)).createLegacyBlock()).getBlock() == Blocks.LAVA) { + { + BlockPos _bp = BlockPos.containing(x, y, z - 1); + BlockState _bs = Blocks.NETHERRACK.defaultBlockState(); + BlockState _bso = world.getBlockState(_bp); + for (Map.Entry, Comparable> entry : _bso.getValues().entrySet()) { + Property _property = _bs.getBlock().getStateDefinition().getProperty(entry.getKey().getName()); + if (_property != null && _bs.getValue(_property) != null) + try { + _bs = _bs.setValue(_property, (Comparable) entry.getValue()); + } catch (Exception e) { + } + } + world.setBlock(_bp, _bs, 3); + } + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2)); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2), false); + } + } + } else if ((world.getFluidState(BlockPos.containing(x, y - 1, z)).createLegacyBlock()).getBlock() == Blocks.LAVA) { + { + BlockPos _bp = BlockPos.containing(x, y - 1, z); + BlockState _bs = Blocks.NETHERRACK.defaultBlockState(); + BlockState _bso = world.getBlockState(_bp); + for (Map.Entry, Comparable> entry : _bso.getValues().entrySet()) { + Property _property = _bs.getBlock().getStateDefinition().getProperty(entry.getKey().getName()); + if (_property != null && _bs.getValue(_property) != null) + try { + _bs = _bs.setValue(_property, (Comparable) entry.getValue()); + } catch (Exception e) { + } + } + world.setBlock(_bp, _bs, 3); + } + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2)); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.lava.extinguish")), SoundSource.BLOCKS, (float) 0.7, (float) Mth.nextDouble(RandomSource.create(), 1.2, 2), false); + } + } + } + } +} diff --git a/src/main/java/net/mcreator/nimsrandombullshit/procedures/StarWandRightclickedProcedure.java b/src/main/java/net/mcreator/nimsrandombullshit/procedures/StarWandRightclickedProcedure.java new file mode 100644 index 0000000..84dfb56 --- /dev/null +++ b/src/main/java/net/mcreator/nimsrandombullshit/procedures/StarWandRightclickedProcedure.java @@ -0,0 +1,75 @@ +package net.mcreator.nimsrandombullshit.procedures; + +import net.minecraftforge.registries.ForgeRegistries; + +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.ClipContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.util.RandomSource; +import net.minecraft.util.Mth; +import net.minecraft.sounds.SoundSource; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.BlockPos; + +import java.util.Comparator; + +public class StarWandRightclickedProcedure { + public static void execute(LevelAccessor world, double x, double y, double z, Entity entity, ItemStack itemstack) { + if (entity == null) + return; + Entity rightClickedEntity = null; + rightClickedEntity = (Entity) world.getEntitiesOfClass(LivingEntity.class, + AABB.ofSize( + new Vec3((entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getX()), + (entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getY()), + (entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getZ())), + 4, 4, 4), + e -> true).stream().sorted(new Object() { + Comparator compareDistOf(double _x, double _y, double _z) { + return Comparator.comparingDouble(_entcnd -> _entcnd.distanceToSqr(_x, _y, _z)); + } + }.compareDistOf((entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getX()), + (entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getY()), + (entity.level().clip(new ClipContext(entity.getEyePosition(1f), entity.getEyePosition(1f).add(entity.getViewVector(1f).scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos().getZ()))) + .findFirst().orElse(null); + if (!(rightClickedEntity == null)) { + if ((rightClickedEntity instanceof LivingEntity _livEnt ? _livEnt.getHealth() : -1) == (rightClickedEntity instanceof LivingEntity _livEnt ? _livEnt.getMaxHealth() : -1)) { + if (rightClickedEntity instanceof LivingEntity _entity && !_entity.level().isClientSide()) + _entity.addEffect(new MobEffectInstance(MobEffects.ABSORPTION, 300, 1, false, false)); + if (entity instanceof Player _player) + _player.getCooldowns().addCooldown(itemstack.getItem(), 40); + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.resonate")), SoundSource.NEUTRAL, 3, + (float) (2 * ((Mth.nextInt(RandomSource.create(), 2, 24) - 12) / 12))); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.resonate")), SoundSource.NEUTRAL, 3, (float) (2 * ((Mth.nextInt(RandomSource.create(), 2, 24) - 12) / 12)), + false); + } + } + } else { + if (rightClickedEntity instanceof LivingEntity _entity) + _entity.setHealth((float) ((rightClickedEntity instanceof LivingEntity _livEnt ? _livEnt.getHealth() : -1) + 3)); + if (entity instanceof Player _player) + _player.getCooldowns().addCooldown(itemstack.getItem(), 40); + if (world instanceof Level _level) { + if (!_level.isClientSide()) { + _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.resonate")), SoundSource.NEUTRAL, 3, + (float) (2 * ((Mth.nextInt(RandomSource.create(), 2, 24) - 12) / 12))); + } else { + _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.resonate")), SoundSource.NEUTRAL, 3, (float) (2 * ((Mth.nextInt(RandomSource.create(), 2, 24) - 12) / 12)), + false); + } + } + } + } + } +} diff --git a/src/main/resources/assets/nims_random_bullshit/blockstates/netherrack_juice.json b/src/main/resources/assets/nims_random_bullshit/blockstates/netherrack_juice.json new file mode 100644 index 0000000..c170b66 --- /dev/null +++ b/src/main/resources/assets/nims_random_bullshit/blockstates/netherrack_juice.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "nims_random_bullshit:block/netherrack_juice" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nims_random_bullshit/lang/en_us.json b/src/main/resources/assets/nims_random_bullshit/lang/en_us.json index bed1af4..d418cfa 100644 --- a/src/main/resources/assets/nims_random_bullshit/lang/en_us.json +++ b/src/main/resources/assets/nims_random_bullshit/lang/en_us.json @@ -1,8 +1,10 @@ { "block.nims_random_bullshit.condensed_condensed_netherrack": "Condensed Condensed Netherrack", "item.nims_random_bullshit.gravedigger": "Gravedigger", - "gui.nims_random_bullshit.ore_miner_gui.button_mine": "Mine", + "fluid.nims_random_bullshit.netherrack_juice": "Netherrack Juice", + "item.nims_random_bullshit.star_wand": "Star Wand", "block.nims_random_bullshit.quadra_condensed_netherrack": "Quadra-condensed Netherrack", + "gui.nims_random_bullshit.ore_miner_gui.button_mine": "Mine", "block.nims_random_bullshit.penta_condensed_netherrack": "Penta-condensed Netherrack", "item.nims_random_bullshit.magic_dust": "Magic Dust", "enchantment.nims_random_bullshit.passive_income_enchantment": "Passive Income", @@ -12,14 +14,17 @@ "block.nims_random_bullshit.broken_glass": "Broken Glass", "block.nims_random_bullshit.hexa_condensed_netherrack": "Hexa-condensed Netherrack", "block.nims_random_bullshit.ore_miner": "Ore Miner", + "block.nims_random_bullshit.netherrack_juice": "Netherrack Juice", "effect.nims_random_bullshit.summoned_entity_effect": "Summoned Entity", "item.nims_random_bullshit.sand_dust": "Sand Dust", "item.nims_random_bullshit.magic_flesh": "Magic Flesh", "item.nims_random_bullshit.ghoul_spawn_egg": "Ghoul Spawn Egg", "item.nims_random_bullshit.block_eater": "Block Eater", "item.nims_random_bullshit.golden_berries": "Golden Berries", + "item.nims_random_bullshit.netherrack_juice_bucket": "Netherrack Juice Bucket", "block.nims_random_bullshit.condensed_condensed_condensed_netherrack": "Condensed Condensed Condensed Netherrack", "entity.nims_random_bullshit.ghoul": "Ghoul", + "item.nims_random_bullshit.star": "Star", "gui.nims_random_bullshit.shit_gui.label_uh_ohh_stinky": "UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! ", "item.nims_random_bullshit.lapis_lazuli_nugget": "Lapis Lazuli Nugget", "item.nims_random_bullshit.gravedigger.description_1": "We must dig!", diff --git a/src/main/resources/assets/nims_random_bullshit/models/block/netherrack_juice.json b/src/main/resources/assets/nims_random_bullshit/models/block/netherrack_juice.json new file mode 100644 index 0000000..788ff21 --- /dev/null +++ b/src/main/resources/assets/nims_random_bullshit/models/block/netherrack_juice.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "nims_random_bullshit:block/netherrack_juice" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice.png b/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice.png new file mode 100644 index 0000000000000000000000000000000000000000..eaaabf5502ae6725c893dd407659c64225de7f31 GIT binary patch literal 432 zcmV;h0Z;ykP)2u$!0Q{-+;P3iu5+q&$~;32MJK6nuC0sK2@LF zt?p=mQGiw`5G1MRs^A_^DUbk{OC`SmN>ISK#*0KpY16}2n6Du^O_>s+mVZoJx$At9OZcLrz2*p7Fy#SuaqiIqMD2c?d+0?84vl7&e03-uoHe5Ds zF6x%fFd~PsqeF3L1WAD+^Z{YdSR)|!ZO>YucxxKO0nXe}|D!(CBkEMx5>Y7n5iN%_ zusdPW?1jD=Ys3IqgXxS>9RFd)IRG99+5`W{3;%5P@rcan;R7JKSBXYlW|P!#g_I{ZP z8pPI;rwS7b)@H;R14?mQYuh3@nL0XQAQwhFxXjjM=2DA4`+Dp<$Q gyZit8?8v0aACzSyLGfPvoB#j-07*qoM6N<$f|XImZ~y=R literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/nims_random_bullshit/textures/item/netherrack_juice_bucket.png b/src/main/resources/assets/nims_random_bullshit/textures/item/netherrack_juice_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..738e9042a04a101ed039ae7a86ac844f7bfabe95 GIT binary patch literal 264 zcmV+j0r&oiP)c$Yr4^0S37CDR8a^YI=3?8Rr4YbIRNlYM+g4#@1J$hy|?N_Sn zn&y`0N^#*{6m&^bx@H-jlVlkPft~Bp!T0GD$8;QBMG=)@NL$;cLf6$03|59gYty8? z=ZR7o1Oiq8;5Y)Hgz$<8AS@sw0A*~lv8<`A1oVAB1pvSs-11zQ&zq)s4PbMD-L|c; z5&$t|7={Vdb)E3rGBgJ;Je}FCL{zDHKg)_uc`tf-H O0000Jo;HKPM^0=&;8qfy_$GIG-9n8oM#;^a%kNt- zT|eHjMlx1d??LJ@HuIKWaSBhkQf?daD5P-gN^8<z@qLn`8yPH^OEHV|-quB7)$ z>q1vY?AC<=F4Oalwszn9FA!{}Ie>rjuQaI5GTOj&Q}C_%8HaMkdvQ}(o@_2ra+I5utk6@UG~v4X$16cLDPD{xPB-sZ zUv4RVV*dB{o1a<>pZGlY#%`vcQKBcd*QYdaJG;Dl{)zR~muIeew);KgTe~ HDWM4fl*3b& literal 0 HcmV?d00001 diff --git a/src/main/resources/data/minecraft/tags/blocks/replaceable.json b/src/main/resources/data/minecraft/tags/blocks/replaceable.json new file mode 100644 index 0000000..cdb7e70 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/replaceable.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "nims_random_bullshit:netherrack_juice" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/pickaxes.json b/src/main/resources/data/minecraft/tags/items/pickaxes.json index 30e3d99..fa83f21 100644 --- a/src/main/resources/data/minecraft/tags/items/pickaxes.json +++ b/src/main/resources/data/minecraft/tags/items/pickaxes.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ + "nims_random_bullshit:star_wand", "nims_random_bullshit:netherrackite_pickaxe" ] } \ No newline at end of file diff --git a/src/main/resources/data/nims_random_bullshit/recipes/gravedigger_recipe.json b/src/main/resources/data/nims_random_bullshit/recipes/gravedigger_recipe.json index 63fcff4..fb6ad8a 100644 --- a/src/main/resources/data/nims_random_bullshit/recipes/gravedigger_recipe.json +++ b/src/main/resources/data/nims_random_bullshit/recipes/gravedigger_recipe.json @@ -4,17 +4,20 @@ "pattern": [ " a ", "bcb", - "bcb" + "dbd" ], "key": { "a": { "item": "minecraft:wither_skeleton_skull" }, "b": { - "item": "minecraft:ghast_tear" + "item": "minecraft:bone" }, "c": { - "item": "minecraft:bone" + "item": "minecraft:netherite_shovel" + }, + "d": { + "item": "minecraft:ghast_tear" } }, "result": { diff --git a/src/main/resources/data/nims_random_bullshit/recipes/netherrack_juice_bucket_recipe.json b/src/main/resources/data/nims_random_bullshit/recipes/netherrack_juice_bucket_recipe.json new file mode 100644 index 0000000..8b9ccb4 --- /dev/null +++ b/src/main/resources/data/nims_random_bullshit/recipes/netherrack_juice_bucket_recipe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "a", + "b" + ], + "key": { + "a": { + "item": "nims_random_bullshit:condensed_condensed_condensed_netherrack" + }, + "b": { + "item": "minecraft:water_bucket" + } + }, + "result": { + "item": "nims_random_bullshit:netherrack_juice_bucket", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/nims_random_bullshit/recipes/star_recipe.json b/src/main/resources/data/nims_random_bullshit/recipes/star_recipe.json new file mode 100644 index 0000000..f7864bb --- /dev/null +++ b/src/main/resources/data/nims_random_bullshit/recipes/star_recipe.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smithing_transform", + "template": { + "item": "minecraft:experience_bottle" + }, + "base": { + "item": "minecraft:nether_star" + }, + "addition": { + "item": "minecraft:yellow_dye" + }, + "result": { + "item": "nims_random_bullshit:star" + } +} \ No newline at end of file diff --git a/src/main/resources/data/nims_random_bullshit/recipes/star_wand_recipe.json b/src/main/resources/data/nims_random_bullshit/recipes/star_wand_recipe.json new file mode 100644 index 0000000..e74fad5 --- /dev/null +++ b/src/main/resources/data/nims_random_bullshit/recipes/star_wand_recipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "a", + "b", + "b" + ], + "key": { + "a": { + "item": "nims_random_bullshit:star" + }, + "b": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "nims_random_bullshit:star_wand", + "count": 1 + } +} \ No newline at end of file