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 0000000..eaaabf5
Binary files /dev/null and b/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice.png differ
diff --git a/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice_flowing.png b/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice_flowing.png
new file mode 100644
index 0000000..65f7f46
Binary files /dev/null and b/src/main/resources/assets/nims_random_bullshit/textures/block/netherrack_juice_flowing.png differ
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 0000000..738e904
Binary files /dev/null and b/src/main/resources/assets/nims_random_bullshit/textures/item/netherrack_juice_bucket.png differ
diff --git a/src/main/resources/assets/nims_random_bullshit/textures/item/star.png b/src/main/resources/assets/nims_random_bullshit/textures/item/star.png
new file mode 100644
index 0000000..968bab3
Binary files /dev/null and b/src/main/resources/assets/nims_random_bullshit/textures/item/star.png differ
diff --git a/src/main/resources/assets/nims_random_bullshit/textures/item/star_wand.png b/src/main/resources/assets/nims_random_bullshit/textures/item/star_wand.png
new file mode 100644
index 0000000..615f325
Binary files /dev/null and b/src/main/resources/assets/nims_random_bullshit/textures/item/star_wand.png differ
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