remap + add glock

This commit is contained in:
Sunskimmer822 2022-07-18 13:30:22 -07:00
parent 0cafb2c688
commit 7fff77816e
50 changed files with 1167 additions and 9 deletions

View File

@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '0.11-SNAPSHOT'
id 'fabric-loom' version '0.12-SNAPSHOT'
id 'maven-publish'
}

View File

@ -3,14 +3,16 @@ org.gradle.jvmargs=-Xmx6G
# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.19
yarn_mappings=1.19+build.1
loader_version=0.14.7
minecraft_version=1.19
yarn_mappings=1.19+build.4
loader_version=0.14.8
#Fabric api
fabric_version=0.57.0+1.19
# Mod Properties
mod_version = 1.6.0
maven_group = com.serenas.shitmod
archives_base_name = serenas-shitmod
# Fabric API
fabric_version=0.55.3+1.19

View File

@ -0,0 +1,29 @@
package net.serenas.shitmod;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
import net.minecraft.entity.player.PlayerEntity;
public class ExpStatusEffect extends StatusEffect {
public ExpStatusEffect() {
super(
StatusEffectCategory.BENEFICIAL, // whether beneficial or harmful for entities
0x98D982); // color in RGB
}
// This method is called every tick to check whether it should apply the status effect or not
@Override
public boolean canApplyUpdateEffect(int duration, int amplifier) {
// In our case, we just make it return true so that it applies the status effect every tick.
return true;
}
// This method is called when it applies the status effect. We implement custom functionality here.
@Override
public void applyUpdateEffect(LivingEntity entity, int amplifier) {
if (entity instanceof PlayerEntity) {
((PlayerEntity) entity).addExperience(3 << amplifier); // Higher amplifier gives you EXP faster
}
}
}

View File

@ -0,0 +1,15 @@
package net.serenas.shitmod;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.Material;
import net.minecraft.sound.BlockSoundGroup;
public class FabricBlock extends Block {
public FabricBlock() {
super(FabricBlockSettings.of(Material.WOOL).sounds(BlockSoundGroup.ANCIENT_DEBRIS).strength(1000, 100f));
}
}

View File

@ -0,0 +1,30 @@
package net.serenas.shitmod;
import net.minecraft.entity.TntEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class FabricItem extends Item {
public FabricItem(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand hand) {
PlayerEntity.playSound(SoundEvents.BLOCK_AMETHYST_BLOCK_CHIME, 1.0F, 1.0F);
for (int i = 0; i < 50; i++) {
world.spawnEntity(new TntEntity(world, PlayerEntity.getX(), PlayerEntity.getY(), PlayerEntity.getZ(), PlayerEntity));
}
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(hand));
}
}

View File

@ -0,0 +1,30 @@
package net.serenas.shitmod;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class Hausbommer extends Item{
public Hausbommer(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity playerentity, Hand hand) {
double x = playerentity.getX();
double y = playerentity.getY();
double z = playerentity.getZ();
double xRound = Math.round(x);
double yRound = Math.round(y);
double zRound = Math.round(z);
String Xmessage = String.valueOf(xRound);
String Ymessage = String.valueOf(yRound);
String Zmessage = String.valueOf(zRound);
String fullMessage = "X: " + Xmessage + " Y: " + Ymessage + " Z: " + Zmessage;
System.out.println(fullMessage);
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, playerentity.getStackInHand(hand));
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class Lean extends Item{
public Lean(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,39 @@
package net.serenas.shitmod;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
public class LeanStatusEffect extends StatusEffect{
public LeanStatusEffect() {
super(
StatusEffectCategory.HARMFUL, // whether beneficial or harmful for entities
0x98D982); // color in RGB
}
// This method is called every tick to check whether it should apply the status effect or not
@Override
public boolean canApplyUpdateEffect(int duration, int amplifier) {
// In our case, we just make it return true so that it applies the status effect every tick.
return true;
}
// This method is called when it applies the status effect. We implement custom functionality here.
@Override
public void applyUpdateEffect(LivingEntity entity, int amplifier) {
if (entity instanceof PlayerEntity) {
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.BLINDNESS, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.POISON, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.GLOWING, 1, amplifier));
((PlayerEntity) entity).addStatusEffect(new StatusEffectInstance(StatusEffects.MINING_FATIGUE, 1, amplifier));
}
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class OrangeJuice extends Item {
public OrangeJuice(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,209 @@
package net.serenas.shitmod;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentTarget;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.BlockItem;
import net.minecraft.item.BowItem;
import net.minecraft.item.FoodComponent;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.ToolItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class Shitmod implements ModInitializer {
public static final ItemGroup CHARMS_GROUP = FabricItemGroupBuilder.build(
new Identifier("shitmod", "charms"),
() -> new ItemStack(Shitmod.KINGSOUL_CHARM));
public static final ItemGroup GENERAL_GROUP = FabricItemGroupBuilder.build(
new Identifier("shitmod", "general"),
() -> new ItemStack(Shitmod.PP));
public static final ItemGroup TOOLS_GROUP = FabricItemGroupBuilder.build(
new Identifier("shitmod", "tools"),
() -> new ItemStack(Shitmod.BLAZE_METAL_SHOVEL));
public static final Item PP = new FabricItem(new Item.Settings().group(Shitmod.GENERAL_GROUP));
public static final Block FABRIC_BLOCK = new FabricBlock();
public static final Item HAUSBOMMER_ITEM = new Hausbommer(new Item.Settings().group(Shitmod.GENERAL_GROUP));
public static final StatusEffect LEAN_EFFECT = new LeanStatusEffect();
public static final Item LEAN = new Lean(new Item.Settings().group(ItemGroup.FOOD).rarity(Rarity.UNCOMMON).food(new FoodComponent.Builder().hunger(20).saturationModifier(10f).snack().meat().alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 20*60, 5), 1f).statusEffect(new StatusEffectInstance(StatusEffects.BLINDNESS, 20*60, 5), 1f).statusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 20*60), 1f).statusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 20*60, 2), 1f).statusEffect(new StatusEffectInstance(StatusEffects.POISON, 20*60, 5), 1f).statusEffect(new StatusEffectInstance(StatusEffects.GLOWING, 20*60), 1f).statusEffect(new StatusEffectInstance(StatusEffects.MINING_FATIGUE, 20*60, 5), 1f).statusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 20*60, 3), 1f).build()));
public static final StatusEffect EXP = new ExpStatusEffect();
public static final Item ORANGE_JUICE = new OrangeJuice(new Item.Settings().group(ItemGroup.FOOD).rarity(Rarity.EPIC).food(new FoodComponent.Builder().hunger(200).saturationModifier(10f).snack().meat().alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 5), 1f).statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 20*120, 20), 1f).statusEffect(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE, 20*120), 1f).statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 20*120, 3), 1f).statusEffect(new StatusEffectInstance(StatusEffects.SPEED, 20*120, 2), 1f).build()));
public static final Item KINGSOUL_CHARM = new kingsoul(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxDamage(500).fireproof());
public static final Item STALWART_SHELL_CHARM = new stalwartShell(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxDamage(500).fireproof());
public static final Item FRAGILE_HEART_CHARM = new fragileHeartCharm(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxDamage(100).fireproof());
public static final Item UNBREAKABLE_HEART_CHARM = new unbreakableHeartCharm(new Item.Settings().group(Shitmod.CHARMS_GROUP).fireproof().maxCount(1));
public static final Item FRAGILE_STRENGTH_CHARM = new fragileStrengthCharm(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxDamage(100).fireproof());
public static final Item UNBREAKABLE_STRENGTH_CHARM = new unbreakableStrengthCharm(new Item.Settings().group(Shitmod.CHARMS_GROUP).fireproof().maxCount(1));
public static final Item TOTEM_OF_EQUIVALENCY = new totemOfEquivalency(new Item.Settings().group(Shitmod.GENERAL_GROUP).maxCount(1));
public static final Item ROCK_WITH_A_STRING_TIED_AROUND = new rockWithAStringAround(new Item.Settings().group(Shitmod.GENERAL_GROUP).maxCount(1));
public static final Item KINGSOUL_LEFT = new kingsoulLeft(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxCount(1));
public static final Item KINGSOUL_RIGHT = new kingsoulRight(new Item.Settings().group(Shitmod.CHARMS_GROUP).maxCount(1));
public static final ToolItem BLAZE_METAL_SWORD = new blazeMetalSword(blazeMetalMaterial.INSTANCE, 5, 3f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(8000));
public static final ToolItem BLAZE_METAL_PICKAXE = new blazeMetalPickaxe(blazeMetalMaterial.INSTANCE, 1, -0.5f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(8000));
public static final ToolItem BLAZE_METAL_AXE = new blazeMetalAxe(blazeMetalMaterial.INSTANCE, 8.0f, -1.0f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(8000));
public static final ToolItem BLAZE_METAL_SHOVEL = new ShovelItem(blazeMetalMaterial.INSTANCE, 1f, 3.0f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(8000));
public static final ToolItem BLAZE_METAL_HOE = new blazeMetalHoe(blazeMetalMaterial.INSTANCE, -4, 1f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(8000));
public static final Item BLAZE_METAL_INGOT = new blazeMetalIngot(new Item.Settings().group(Shitmod.GENERAL_GROUP));
public static final Enchantment EXPLOSION_ASPECT = new explosionAspectEnchantment();
public static final Enchantment EXPLOSIVE_THORNS = new explosiveThornsEnchantment(Enchantment.Rarity.RARE, EnchantmentTarget.WEARABLE, new EquipmentSlot[] {EquipmentSlot.HEAD, EquipmentSlot.CHEST, EquipmentSlot.LEGS, EquipmentSlot.FEET});
public static final Item REINFORCED_BLAZE_METAL_INGOT = new reinforcedBlazeMetalIngot(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item BLAZE_METAL_SWORD_CASING = new blazeMetalSwordCasing(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item BLAZE_METAL_PICKAXE_CASING = new blazeMetalPickaxeCasing(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item BLAZE_METAL_AXE_CASING = new blazeMetalAxeCasing(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item BLAZE_METAL_SHOVEL_CASING = new blazeMetalShovelCasing(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item BLAZE_METAL_HOE_CASING = new blazeMetalHoeCasing(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item POTATO_CHIPS = new potatoChips(new Item.Settings().group(ItemGroup.FOOD).maxCount(69));
public static final Item PULVERIZED_BLAZE_METAL = new pulverizedBlazeMetal(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item SEARED_GOLD_INGOT = new searedGoldIngot(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final Item PULVERIZED_NETHERITE = new pulverizedNetherite(new Item.Settings().fireproof().group(Shitmod.GENERAL_GROUP));
public static final ToolItem COPPER_SWORD = new copperSword(copperMaterial.INSTANCE, 2, -2.4f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final ToolItem COPPER_PICKAXE = new copperPickaxe(copperMaterial.INSTANCE, 0, -2.8f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final ToolItem COPPER_AXE = new copperAxe(copperMaterial.INSTANCE, 5, -3.1f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final ToolItem COPPER_SHOVEL = new copperShovel(copperMaterial.INSTANCE, 0.5f, -3f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final ToolItem COPPER_HOE = new copperHoe(copperMaterial.INSTANCE, -3, -1f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final BowItem GLOCK = new glock(new FabricItemSettings().group(Shitmod.TOOLS_GROUP).maxDamage(1000));
@Override
public void onInitialize() {
Registry.register(Registry.ITEM, new Identifier("shitmod", "pp"), PP);
Registry.register(Registry.BLOCK, new Identifier("shitmod", "gay_block"), FABRIC_BLOCK);
Registry.register(Registry.ITEM, new Identifier("shitmod", "fabric_block"), new BlockItem(FABRIC_BLOCK, new FabricItemSettings().group(ItemGroup.MISC)));
Registry.register(Registry.ITEM, new Identifier("shitmod", "hausbommer"), HAUSBOMMER_ITEM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "lean"), LEAN);
Registry.register(Registry.STATUS_EFFECT, new Identifier("shitmod", "exp"), EXP);
Registry.register(Registry.STATUS_EFFECT, new Identifier("shitmod", "lean"), LEAN_EFFECT);
Registry.register(Registry.ITEM, new Identifier("shitmod", "orange_juice"), ORANGE_JUICE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "kingsoul_charm"), KINGSOUL_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "stalwart_shell_charm"), STALWART_SHELL_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "fragile_heart_charm"), FRAGILE_HEART_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "unbreakable_heart_charm"), UNBREAKABLE_HEART_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "fragile_strength_charm"), FRAGILE_STRENGTH_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "unbreakable_strength_charm"), UNBREAKABLE_STRENGTH_CHARM);
Registry.register(Registry.ITEM, new Identifier("shitmod", "totem_of_equivalency"), TOTEM_OF_EQUIVALENCY);
Registry.register(Registry.ITEM, new Identifier("shitmod", "rock_with_string"), ROCK_WITH_A_STRING_TIED_AROUND);
Registry.register(Registry.ITEM, new Identifier("shitmod", "kingsoul_left_fragment"), KINGSOUL_LEFT);
Registry.register(Registry.ITEM, new Identifier("shitmod", "kingsoul_right_fragment"), KINGSOUL_RIGHT);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_sword"), BLAZE_METAL_SWORD);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_pickaxe"), BLAZE_METAL_PICKAXE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_axe"), BLAZE_METAL_AXE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_shovel"), BLAZE_METAL_SHOVEL);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_hoe"), BLAZE_METAL_HOE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_ingot"), BLAZE_METAL_INGOT);
Registry.register(Registry.ENCHANTMENT, new Identifier("shitmod", "explosion_aspect"), EXPLOSION_ASPECT);
Registry.register(Registry.ENCHANTMENT, new Identifier("shitmod", "explosive_thorns"), EXPLOSIVE_THORNS);
Registry.register(Registry.ITEM, new Identifier("shitmod", "reinforced_blaze_metal_ingot"), REINFORCED_BLAZE_METAL_INGOT);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_sword_casing"), BLAZE_METAL_SWORD_CASING);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_pickaxe_casing"), BLAZE_METAL_PICKAXE_CASING);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_axe_casing"), BLAZE_METAL_AXE_CASING);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_shovel_casing"), BLAZE_METAL_SHOVEL_CASING);
Registry.register(Registry.ITEM, new Identifier("shitmod", "blaze_metal_hoe_casing"), BLAZE_METAL_HOE_CASING);
Registry.register(Registry.ITEM, new Identifier("shitmod", "potato_chip"), POTATO_CHIPS);
Registry.register(Registry.ITEM, new Identifier("shitmod", "pulverized_blaze_metal"), PULVERIZED_BLAZE_METAL);
Registry.register(Registry.ITEM, new Identifier("shitmod", "pulverized_netherite"), PULVERIZED_NETHERITE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "seared_gold_ingot"), SEARED_GOLD_INGOT);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_sword"), COPPER_SWORD);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_pickaxe"), COPPER_PICKAXE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_axe"), COPPER_AXE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_shovel"), COPPER_SHOVEL);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_hoe"), COPPER_HOE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "glock"), GLOCK);
}
}

View File

@ -0,0 +1,29 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.FireballEntity;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ToolMaterial;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
public class blazeMetalAxe extends AxeItem {
public blazeMetalAxe(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity PlayerEntity, Hand Hand) {
Vec3d looking = PlayerEntity.getRotationVector();
World.spawnEntity(new FireballEntity(World, PlayerEntity, looking.x, looking.y, looking.z, 6));
PlayerEntity.getStackInHand(Hand).damage(100,PlayerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalAxeCasing extends Item {
public blazeMetalAxeCasing(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ToolMaterial;
public class blazeMetalHoe extends HoeItem {
public blazeMetalHoe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalHoeCasing extends Item {
public blazeMetalHoeCasing(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalIngot extends Item {
public blazeMetalIngot(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,41 @@
package net.serenas.shitmod;
import net.minecraft.item.Items;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class blazeMetalMaterial implements ToolMaterial {
public static final blazeMetalMaterial INSTANCE = new blazeMetalMaterial();
@Override
public int getDurability() {
return 500;
}
@Override
public float getMiningSpeedMultiplier() {
return 12.0f;
}
@Override
public float getAttackDamage() {
return 4.0f;
}
@Override
public int getMiningLevel() {
return 7;
}
@Override
public int getEnchantability() {
return 40;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(Items.BLAZE_ROD);
}
}

View File

@ -0,0 +1,10 @@
package net.serenas.shitmod;
import net.minecraft.item.PickaxeItem;
import net.minecraft.item.ToolMaterial;
public class blazeMetalPickaxe extends PickaxeItem {
public blazeMetalPickaxe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalPickaxeCasing extends Item {
public blazeMetalPickaxeCasing(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalShovelCasing extends Item {
public blazeMetalShovelCasing(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,29 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.FireballEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolMaterial;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
public class blazeMetalSword extends SwordItem {
public blazeMetalSword(ToolMaterial toolMaterial, int attackDamage, float attackSpeed, Settings settings) {
super(toolMaterial, attackDamage, attackSpeed, settings);
}
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity PlayerEntity, Hand Hand) {
Vec3d looking = PlayerEntity.getRotationVector();
FireballEntity fireball = new FireballEntity(World, PlayerEntity, (2*looking.x), (2*looking.y), (2*looking.z), 5);
World.spawnEntity(fireball);
PlayerEntity.getStackInHand(Hand).damage(100,PlayerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class blazeMetalSwordCasing extends Item {
public blazeMetalSwordCasing(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
public class careFreeMelodyEffect extends StatusEffect {
protected careFreeMelodyEffect(StatusEffectCategory category, int color) {
super(category, color);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ToolMaterial;
public class copperAxe extends AxeItem {
protected copperAxe(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ToolMaterial;
public class copperHoe extends HoeItem {
protected copperHoe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,41 @@
package net.serenas.shitmod;
import net.minecraft.item.Items;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class copperMaterial implements ToolMaterial {
public static final copperMaterial INSTANCE = new copperMaterial();
@Override
public int getDurability() {
return 250;
}
@Override
public float getMiningSpeedMultiplier() {
return 6.0f;
}
@Override
public float getAttackDamage() {
return 3.0f;
}
@Override
public int getMiningLevel() {
return 2;
}
@Override
public int getEnchantability() {
return 44;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(Items.COPPER_INGOT);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.PickaxeItem;
import net.minecraft.item.ToolMaterial;
public class copperPickaxe extends PickaxeItem {
protected copperPickaxe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.ToolMaterial;
public class copperShovel extends ShovelItem{
public copperShovel(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolMaterial;
public class copperSword extends SwordItem {
public copperSword(ToolMaterial toolMaterial, int attackDamage, float attackSpeed, Settings settings) {
super(toolMaterial, attackDamage, attackSpeed, settings);
}
}

View File

@ -0,0 +1,38 @@
package net.serenas.shitmod;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentTarget;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.explosion.Explosion;
public class explosionAspectEnchantment extends Enchantment {
protected explosionAspectEnchantment() {
super(Enchantment.Rarity.RARE, EnchantmentTarget.WEAPON, new EquipmentSlot[] {EquipmentSlot.MAINHAND});
}
@Override
public int getMinPower(int level) {
return 100;
}
@Override
public int getMaxLevel() {
return 5;
}
@Override
public void onTargetDamaged(LivingEntity user, net.minecraft.entity.Entity target, int level) {
World world = user.world;
if (target instanceof LivingEntity) {
Vec3d pos = target.getPos();
world.createExplosion(user, pos.x, pos.y, pos.z, level * 4.0F, Explosion.DestructionType.BREAK);
}
super.onTargetDamaged(user, target, level);
}
}

View File

@ -0,0 +1,32 @@
package net.serenas.shitmod;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentTarget;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.explosion.Explosion.DestructionType;
public class explosiveThornsEnchantment extends Enchantment {
protected explosiveThornsEnchantment(Rarity weight, EnchantmentTarget type, EquipmentSlot[] slotTypes) {
super(weight, type, slotTypes);
}
@Override
public int getMaxLevel() {
return 5;
}
@Override
public void onUserDamaged(LivingEntity user, Entity attacker, int level) {
World World = attacker.world;
Vec3d pos = attacker.getPos();
World.createExplosion(user, DamageSource.MAGIC, null, pos.x, pos.y, pos.z, 3 * level, false, DestructionType.NONE);
super.onUserDamaged(user, attacker, level);
}
}

View File

@ -0,0 +1,26 @@
package net.serenas.shitmod;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
public class fragileHeartCharm extends Item {
public fragileHeartCharm(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity Playerentity, Hand Hand) {
Playerentity.addStatusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 20*1000000, 2));
Playerentity.getMainHandStack().damage(50,Playerentity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, Playerentity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,31 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class fragileStrengthCharm extends Item{
public fragileStrengthCharm(Settings settings) {
super(settings);
}
public int availableSlots = 1;
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand Hand) {
PlayerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 20*1000000, 2));
PlayerEntity.getMainHandStack().damage(50,PlayerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.BowItem;
public class glock extends BowItem{
public glock(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,32 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class kingsoul extends Item {
public kingsoul(Settings settings) {
super(settings);
}
public int availableSlots = 10;
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand hand) {
PlayerEntity.getHungerManager().add(1, 1);
PlayerEntity.getMainHandStack().damage(1,PlayerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class kingsoulLeft extends Item{
public kingsoulLeft(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class kingsoulRight extends Item{
public kingsoulRight(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,32 @@
package net.serenas.shitmod;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class potatoChips extends Item {
public potatoChips(Settings settings) {
super(settings);
}
int potatoChipsConsumed = 0;
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity PlayerEntity, Hand Hand) {
PlayerEntity.getHungerManager().add(1, 10f);
PlayerEntity.getStackInHand(Hand).decrement(1);
potatoChipsConsumed+=1;
if (potatoChipsConsumed == 69) {
PlayerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 20 * 15, 4));
potatoChipsConsumed-=69;
}
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class pulverizedBlazeMetal extends Item {
public pulverizedBlazeMetal(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class pulverizedNetherite extends Item {
public pulverizedNetherite(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,12 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class reinforcedBlazeMetalIngot extends Item {
public reinforcedBlazeMetalIngot(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,36 @@
package net.serenas.shitmod;
import D;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class rockWithAStringAround extends Item {
public rockWithAStringAround(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity PlayerEntity, Hand Hand) {
var messageToSay = Math.random();
if (messageToSay < 0.3) {
System.out.println("placeholder 1");
} else if (messageToSay > 0.3) {
if (messageToSay < 0.6) {
System.out.println("placeholder 2");
}
} else if (messageToSay > 0.6) {
System.out.println("placeholder 3");
}
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,11 @@
package net.serenas.shitmod;
import net.minecraft.item.Item;
public class searedGoldIngot extends Item{
public searedGoldIngot(Settings settings) {
super(settings);
}
}

View File

@ -0,0 +1,30 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
import net.minecraft.util.Hand;
public class stalwartShell extends Item{
public stalwartShell(Settings settings) {
super(settings);
}
public int availableSlots = 8;
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand hand) {
PlayerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 20, 5));
PlayerEntity.getMainHandStack().damage(1,PlayerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(hand));
}
}

View File

@ -0,0 +1,30 @@
package net.serenas.shitmod;
import java.util.concurrent.TimeUnit;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class totemOfEquivalency extends Item {
public totemOfEquivalency(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World World, PlayerEntity PlayerEntity, Hand Hand) {
PlayerEntity.kill();
try {
TimeUnit.SECONDS.sleep(100);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,26 @@
package net.serenas.shitmod;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class unbreakableHeartCharm extends Item {
public unbreakableHeartCharm(Settings settings) {
super(settings);
}
public int availableSlots = 1;
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand Hand) {
PlayerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 20*1000000, 4));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -0,0 +1,26 @@
package net.serenas.shitmod;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class unbreakableStrengthCharm extends Item {
public unbreakableStrengthCharm(Settings settings) {
super(settings);
}
public int availableSlots = 1;
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity PlayerEntity, Hand Hand) {
PlayerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 20*1000000, 3));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, PlayerEntity.getStackInHand(Hand));
}
}

View File

@ -115,6 +115,8 @@ public class Shitmod implements ModInitializer {
public static final ToolItem COPPER_HOE = new copperHoe(copperMaterial.INSTANCE, -3, -1f, new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(250));
public static final Item GLOCK = new glock(new Item.Settings().group(Shitmod.TOOLS_GROUP).maxDamage(1000));
@Override
public void onInitialize() {
@ -198,7 +200,7 @@ public class Shitmod implements ModInitializer {
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_shovel"), COPPER_SHOVEL);
Registry.register(Registry.ITEM, new Identifier("shitmod", "copper_hoe"), COPPER_HOE);
Registry.register(Registry.ITEM, new Identifier("shitmod", "glock"), GLOCK);
}
}
}

View File

@ -0,0 +1,27 @@
package net.serenas.shitmod;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ArrowEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
public class glock extends Item{
public glock(Settings settings) {
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand) {
ArrowEntity arro = new ArrowEntity(world, playerEntity.getX(), playerEntity.getEyeY(), playerEntity.getZ());
arro.setVelocity(playerEntity, playerEntity.getPitch(), playerEntity.getHeadYaw(), 0f, 100, 0);
world.spawnEntity(arro);
playerEntity.getMainHandStack().damage(1,playerEntity,e-> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand));
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "shitmod:item/glock"
}
}

View File

@ -0,0 +1,29 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"BBB",
"ITO",
"N "
],
"key": {
"B": {
"item": "minecraft:iron_block"
},
"I": {
"item": "minecraft:iron_ingot"
},
"T": {
"item": "minecraft:tnt"
},
"N": {
"item": "minecraft:netherite_ingot"
},
"O": {
"item": "minecraft:bow"
}
},
"result": {
"item": "shitmod:glock",
"count": 1
}
}