From 08c0e8809a9712fe2fee9a3c74fe783788443c36 Mon Sep 17 00:00:00 2001 From: micle Date: Sat, 20 Nov 2021 22:13:55 +0000 Subject: [PATCH] Changed groupId to dev.micle from com.micle. Updated code to match new MCP mappings. --- .../data/ModRecipeProvider.java | 53 ------ .../totemofreviving/TotemOfReviving.java | 106 +++++------ .../totemofreviving/data/DataGenerators.java | 48 ++--- .../data/ModRecipeProvider.java | 53 ++++++ .../data/client/ModItemModelProvider.java | 61 +++--- .../events/ServerTickEventHandler.java | 26 +-- .../items/RevivingChargeItem.java | 22 +-- .../items/StrawChargeItem.java | 4 +- .../totemofreviving/items/StrawTotemItem.java | 36 ++-- .../items/TotemOfRevivingItem.java | 164 ++++++++-------- .../network/C2SRequestPlayerRevive.java | 176 +++++++++--------- .../network/C2SRequestTotemCharge.java | 128 +++++++------ .../network/C2SRequestTotemTarget.java | 104 +++++------ .../micle/totemofreviving/setup/ModItems.java | 37 ++-- .../totemofreviving/setup/Registration.java | 50 ++--- .../micle/totemofreviving/utils/Utils.java | 38 ++-- 16 files changed, 547 insertions(+), 559 deletions(-) delete mode 100755 src/main/java/com/micle/totemofreviving/data/ModRecipeProvider.java rename src/main/java/{com => dev}/micle/totemofreviving/TotemOfReviving.java (83%) rename src/main/java/{com => dev}/micle/totemofreviving/data/DataGenerators.java (81%) create mode 100755 src/main/java/dev/micle/totemofreviving/data/ModRecipeProvider.java rename src/main/java/{com => dev}/micle/totemofreviving/data/client/ModItemModelProvider.java (78%) rename src/main/java/{com => dev}/micle/totemofreviving/events/ServerTickEventHandler.java (78%) rename src/main/java/{com => dev}/micle/totemofreviving/items/RevivingChargeItem.java (59%) rename src/main/java/{com => dev}/micle/totemofreviving/items/StrawChargeItem.java (59%) rename src/main/java/{com => dev}/micle/totemofreviving/items/StrawTotemItem.java (72%) rename src/main/java/{com => dev}/micle/totemofreviving/items/TotemOfRevivingItem.java (68%) rename src/main/java/{com => dev}/micle/totemofreviving/network/C2SRequestPlayerRevive.java (72%) rename src/main/java/{com => dev}/micle/totemofreviving/network/C2SRequestTotemCharge.java (65%) rename src/main/java/{com => dev}/micle/totemofreviving/network/C2SRequestTotemTarget.java (78%) rename src/main/java/{com => dev}/micle/totemofreviving/setup/ModItems.java (67%) rename src/main/java/{com => dev}/micle/totemofreviving/setup/Registration.java (83%) rename src/main/java/{com => dev}/micle/totemofreviving/utils/Utils.java (89%) diff --git a/src/main/java/com/micle/totemofreviving/data/ModRecipeProvider.java b/src/main/java/com/micle/totemofreviving/data/ModRecipeProvider.java deleted file mode 100755 index efff174..0000000 --- a/src/main/java/com/micle/totemofreviving/data/ModRecipeProvider.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.micle.totemofreviving.data; - -import com.micle.totemofreviving.setup.ModItems; -import net.minecraft.data.*; -import net.minecraft.item.Items; - -import java.util.function.Consumer; - -public class ModRecipeProvider extends RecipeProvider { - public ModRecipeProvider(DataGenerator generator_in) { - super(generator_in); - } - - @Override - protected void buildShapelessRecipes(Consumer consumer) { - ShapedRecipeBuilder.shaped(ModItems.TOTEM_OF_REVIVING.get()) - .define('#', Items.TOTEM_OF_UNDYING) - .define('@', Items.DIAMOND) - .pattern("@@@") - .pattern("@#@") - .pattern("@@@") - .unlockedBy("has_item", has(Items.TOTEM_OF_UNDYING)) - .save(consumer); - ShapedRecipeBuilder.shaped(ModItems.REVIVING_CHARGE.get()) - .define('#', Items.TOTEM_OF_UNDYING) - .define('@', Items.DIAMOND_BLOCK) - .define('E', Items.ENDER_PEARL) - .pattern("@E@") - .pattern("E#E") - .pattern("@E@") - .unlockedBy("has_item", has(ModItems.TOTEM_OF_REVIVING.get())) - .save(consumer); - ShapedRecipeBuilder.shaped(ModItems.STRAW_TOTEM.get()) - .define('W', Items.WHEAT) - .define('/', Items.STICK) - .define('S', Items.STRING) - .define('N', Items.IRON_NUGGET) - .pattern("NSN") - .pattern("NWN") - .pattern("N/N") - .unlockedBy("has_item", has(Items.WHEAT)) - .save(consumer); - ShapedRecipeBuilder.shaped(ModItems.STRAW_CHARGE.get()) - .define('W', Items.WHEAT) - .define('E', Items.EMERALD) - .define('I', Items.IRON_INGOT) - .pattern("IWI") - .pattern("WEW") - .pattern("IWI") - .unlockedBy("has_item", has(Items.EMERALD)) - .save(consumer); - } -} diff --git a/src/main/java/com/micle/totemofreviving/TotemOfReviving.java b/src/main/java/dev/micle/totemofreviving/TotemOfReviving.java similarity index 83% rename from src/main/java/com/micle/totemofreviving/TotemOfReviving.java rename to src/main/java/dev/micle/totemofreviving/TotemOfReviving.java index 404e41d..c400662 100755 --- a/src/main/java/com/micle/totemofreviving/TotemOfReviving.java +++ b/src/main/java/dev/micle/totemofreviving/TotemOfReviving.java @@ -1,53 +1,53 @@ -package com.micle.totemofreviving; - -import com.micle.totemofreviving.network.C2SRequestPlayerRevive; -import com.micle.totemofreviving.network.C2SRequestTotemCharge; -import com.micle.totemofreviving.network.C2SRequestTotemTarget; -import com.micle.totemofreviving.setup.Registration; -import net.minecraft.server.management.PlayerList; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.network.NetworkRegistry; -import net.minecraftforge.fml.network.simple.SimpleChannel; - -@Mod(TotemOfReviving.MOD_ID) -public class TotemOfReviving { - public static final String MOD_ID = "totemofreviving"; - public static PlayerList players; - - private static final String PROTOCOL_VERSION = "1"; - public static final SimpleChannel INSTANCE = NetworkRegistry.newSimpleChannel( - new ResourceLocation(TotemOfReviving.MOD_ID, "main"), - () -> PROTOCOL_VERSION, - PROTOCOL_VERSION::equals, - PROTOCOL_VERSION::equals - ); - - public TotemOfReviving() { - Registration.register(); - - int id = 0; - INSTANCE.registerMessage(id++, - C2SRequestPlayerRevive.class, - C2SRequestPlayerRevive::encode, - C2SRequestPlayerRevive::decode, - C2SRequestPlayerRevive::handle - ); - INSTANCE.registerMessage(id++, - C2SRequestTotemTarget.class, - C2SRequestTotemTarget::encode, - C2SRequestTotemTarget::decode, - C2SRequestTotemTarget::handle - ); - INSTANCE.registerMessage(id++, - C2SRequestTotemCharge.class, - C2SRequestTotemCharge::encode, - C2SRequestTotemCharge::decode, - C2SRequestTotemCharge::handle - ); - - // Register ourselves for server and other game events we are interested in - MinecraftForge.EVENT_BUS.register(this); - } -} +package dev.micle.totemofreviving; + +import dev.micle.totemofreviving.network.C2SRequestPlayerRevive; +import dev.micle.totemofreviving.network.C2SRequestTotemCharge; +import dev.micle.totemofreviving.network.C2SRequestTotemTarget; +import dev.micle.totemofreviving.setup.Registration; +import net.minecraft.server.management.PlayerList; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.network.NetworkRegistry; +import net.minecraftforge.fml.network.simple.SimpleChannel; + +@Mod(TotemOfReviving.MOD_ID) +public class TotemOfReviving { + public static final String MOD_ID = "totemofreviving"; + public static PlayerList players; + + private static final String PROTOCOL_VERSION = "1"; + public static final SimpleChannel INSTANCE = NetworkRegistry.newSimpleChannel( + new ResourceLocation(TotemOfReviving.MOD_ID, "main"), + () -> PROTOCOL_VERSION, + PROTOCOL_VERSION::equals, + PROTOCOL_VERSION::equals + ); + + public TotemOfReviving() { + Registration.register(); + + int id = 0; + INSTANCE.registerMessage(id++, + C2SRequestPlayerRevive.class, + C2SRequestPlayerRevive::encode, + C2SRequestPlayerRevive::decode, + C2SRequestPlayerRevive::handle + ); + INSTANCE.registerMessage(id++, + C2SRequestTotemTarget.class, + C2SRequestTotemTarget::encode, + C2SRequestTotemTarget::decode, + C2SRequestTotemTarget::handle + ); + INSTANCE.registerMessage(id++, + C2SRequestTotemCharge.class, + C2SRequestTotemCharge::encode, + C2SRequestTotemCharge::decode, + C2SRequestTotemCharge::handle + ); + + // Register ourselves for server and other game events we are interested in + MinecraftForge.EVENT_BUS.register(this); + } +} diff --git a/src/main/java/com/micle/totemofreviving/data/DataGenerators.java b/src/main/java/dev/micle/totemofreviving/data/DataGenerators.java similarity index 81% rename from src/main/java/com/micle/totemofreviving/data/DataGenerators.java rename to src/main/java/dev/micle/totemofreviving/data/DataGenerators.java index 9091c5a..bc8f318 100755 --- a/src/main/java/com/micle/totemofreviving/data/DataGenerators.java +++ b/src/main/java/dev/micle/totemofreviving/data/DataGenerators.java @@ -1,24 +1,24 @@ -package com.micle.totemofreviving.data; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.data.client.ModItemModelProvider; -import net.minecraft.data.DataGenerator; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.GatherDataEvent; - -@Mod.EventBusSubscriber(modid = TotemOfReviving.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) -public class DataGenerators { - private DataGenerators() {} - - @SubscribeEvent - public static void gatherData(GatherDataEvent e) { - DataGenerator gen = e.getGenerator(); - ExistingFileHelper existing_file_helper = e.getExistingFileHelper(); - - gen.addProvider(new ModItemModelProvider(gen, existing_file_helper)); - - gen.addProvider(new ModRecipeProvider(gen)); - } -} +package dev.micle.totemofreviving.data; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.data.client.ModItemModelProvider; +import net.minecraft.data.DataGenerator; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.GatherDataEvent; + +@Mod.EventBusSubscriber(modid = TotemOfReviving.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) +public class DataGenerators { + private DataGenerators() {} + + @SubscribeEvent + public static void gatherData(GatherDataEvent e) { + DataGenerator gen = e.getGenerator(); + ExistingFileHelper existing_file_helper = e.getExistingFileHelper(); + + gen.addProvider(new ModItemModelProvider(gen, existing_file_helper)); + + gen.addProvider(new ModRecipeProvider(gen)); + } +} diff --git a/src/main/java/dev/micle/totemofreviving/data/ModRecipeProvider.java b/src/main/java/dev/micle/totemofreviving/data/ModRecipeProvider.java new file mode 100755 index 0000000..74a34d1 --- /dev/null +++ b/src/main/java/dev/micle/totemofreviving/data/ModRecipeProvider.java @@ -0,0 +1,53 @@ +package dev.micle.totemofreviving.data; + +import dev.micle.totemofreviving.setup.ModItems; +import net.minecraft.data.*; +import net.minecraft.item.Items; + +import java.util.function.Consumer; + +public class ModRecipeProvider extends RecipeProvider { + public ModRecipeProvider(DataGenerator generator_in) { + super(generator_in); + } + + @Override + protected void registerRecipes(Consumer consumer) { + ShapedRecipeBuilder.shapedRecipe(ModItems.TOTEM_OF_REVIVING.get()) + .key('#', Items.TOTEM_OF_UNDYING) + .key('@', Items.DIAMOND) + .patternLine("@@@") + .patternLine("@#@") + .patternLine("@@@") + .addCriterion("has_item", hasItem(Items.TOTEM_OF_UNDYING)) + .build(consumer); + ShapedRecipeBuilder.shapedRecipe(ModItems.REVIVING_CHARGE.get()) + .key('#', Items.TOTEM_OF_UNDYING) + .key('@', Items.DIAMOND_BLOCK) + .key('E', Items.ENDER_PEARL) + .patternLine("@E@") + .patternLine("E#E") + .patternLine("@E@") + .addCriterion("has_item", hasItem(ModItems.TOTEM_OF_REVIVING.get())) + .build(consumer); + ShapedRecipeBuilder.shapedRecipe(ModItems.STRAW_TOTEM.get()) + .key('W', Items.WHEAT) + .key('/', Items.STICK) + .key('S', Items.STRING) + .key('N', Items.IRON_NUGGET) + .patternLine("NSN") + .patternLine("NWN") + .patternLine("N/N") + .addCriterion("has_item", hasItem(Items.WHEAT)) + .build(consumer); + ShapedRecipeBuilder.shapedRecipe(ModItems.STRAW_CHARGE.get()) + .key('W', Items.WHEAT) + .key('E', Items.EMERALD) + .key('I', Items.IRON_INGOT) + .patternLine("IWI") + .patternLine("WEW") + .patternLine("IWI") + .addCriterion("has_item", hasItem(Items.EMERALD)) + .build(consumer); + } +} diff --git a/src/main/java/com/micle/totemofreviving/data/client/ModItemModelProvider.java b/src/main/java/dev/micle/totemofreviving/data/client/ModItemModelProvider.java similarity index 78% rename from src/main/java/com/micle/totemofreviving/data/client/ModItemModelProvider.java rename to src/main/java/dev/micle/totemofreviving/data/client/ModItemModelProvider.java index 01cec90..fea2506 100755 --- a/src/main/java/com/micle/totemofreviving/data/client/ModItemModelProvider.java +++ b/src/main/java/dev/micle/totemofreviving/data/client/ModItemModelProvider.java @@ -1,33 +1,28 @@ -package com.micle.totemofreviving.data.client; - -import com.google.gson.JsonElement; -import com.micle.totemofreviving.TotemOfReviving; -import net.minecraft.data.DataGenerator; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.generators.ItemModelBuilder; -import net.minecraftforge.client.model.generators.ItemModelProvider; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; - -import java.util.function.BiConsumer; -import java.util.function.Supplier; - -public class ModItemModelProvider extends ItemModelProvider { - public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existing_file_helper) { - super(generator, TotemOfReviving.MOD_ID, existing_file_helper); - } - - @Override - protected void registerModels() { - ModelFile item_generated = getExistingFile(mcLoc("item/generated")); - - builder(item_generated, "totem_of_reviving"); - builder(item_generated, "reviving_charge"); - builder(item_generated, "straw_totem"); - builder(item_generated, "straw_charge"); - } - - private ItemModelBuilder builder(ModelFile item_generated, String name) { - return getBuilder(name).parent(item_generated).texture("layer0", "item/" + name); - } -} +package dev.micle.totemofreviving.data.client; + +import dev.micle.totemofreviving.TotemOfReviving; +import net.minecraft.data.DataGenerator; +import net.minecraftforge.client.model.generators.ItemModelBuilder; +import net.minecraftforge.client.model.generators.ItemModelProvider; +import net.minecraftforge.client.model.generators.ModelFile; +import net.minecraftforge.common.data.ExistingFileHelper; + +public class ModItemModelProvider extends ItemModelProvider { + public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existing_file_helper) { + super(generator, TotemOfReviving.MOD_ID, existing_file_helper); + } + + @Override + protected void registerModels() { + ModelFile item_generated = getExistingFile(mcLoc("item/generated")); + + builder(item_generated, "totem_of_reviving"); + builder(item_generated, "reviving_charge"); + builder(item_generated, "straw_totem"); + builder(item_generated, "straw_charge"); + } + + private ItemModelBuilder builder(ModelFile item_generated, String name) { + return getBuilder(name).parent(item_generated).texture("layer0", "item/" + name); + } +} diff --git a/src/main/java/com/micle/totemofreviving/events/ServerTickEventHandler.java b/src/main/java/dev/micle/totemofreviving/events/ServerTickEventHandler.java similarity index 78% rename from src/main/java/com/micle/totemofreviving/events/ServerTickEventHandler.java rename to src/main/java/dev/micle/totemofreviving/events/ServerTickEventHandler.java index fb0aeec..cbc1c7a 100755 --- a/src/main/java/com/micle/totemofreviving/events/ServerTickEventHandler.java +++ b/src/main/java/dev/micle/totemofreviving/events/ServerTickEventHandler.java @@ -1,13 +1,13 @@ -package com.micle.totemofreviving.events; - -import com.micle.totemofreviving.TotemOfReviving; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.server.ServerLifecycleHooks; - -public class ServerTickEventHandler { - @SubscribeEvent - public void onServerTick(TickEvent.ServerTickEvent event) { - TotemOfReviving.players = ServerLifecycleHooks.getCurrentServer().getPlayerList(); - } -} +package dev.micle.totemofreviving.events; + +import dev.micle.totemofreviving.TotemOfReviving; +import net.minecraftforge.event.TickEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.server.ServerLifecycleHooks; + +public class ServerTickEventHandler { + @SubscribeEvent + public void onServerTick(TickEvent.ServerTickEvent event) { + TotemOfReviving.players = ServerLifecycleHooks.getCurrentServer().getPlayerList(); + } +} diff --git a/src/main/java/com/micle/totemofreviving/items/RevivingChargeItem.java b/src/main/java/dev/micle/totemofreviving/items/RevivingChargeItem.java similarity index 59% rename from src/main/java/com/micle/totemofreviving/items/RevivingChargeItem.java rename to src/main/java/dev/micle/totemofreviving/items/RevivingChargeItem.java index 9560cc1..8a941b2 100755 --- a/src/main/java/com/micle/totemofreviving/items/RevivingChargeItem.java +++ b/src/main/java/dev/micle/totemofreviving/items/RevivingChargeItem.java @@ -1,11 +1,11 @@ -package com.micle.totemofreviving.items; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; -import net.minecraft.item.Rarity; - -public class RevivingChargeItem extends Item { - public RevivingChargeItem() { - super(new Item.Properties().tab(ItemGroup.TAB_MISC).rarity(Rarity.RARE)); - } -} +package dev.micle.totemofreviving.items; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.Rarity; + +public class RevivingChargeItem extends Item { + public RevivingChargeItem() { + super(new Item.Properties().group(ItemGroup.MISC).rarity(Rarity.RARE)); + } +} diff --git a/src/main/java/com/micle/totemofreviving/items/StrawChargeItem.java b/src/main/java/dev/micle/totemofreviving/items/StrawChargeItem.java similarity index 59% rename from src/main/java/com/micle/totemofreviving/items/StrawChargeItem.java rename to src/main/java/dev/micle/totemofreviving/items/StrawChargeItem.java index a84f715..f3f9810 100755 --- a/src/main/java/com/micle/totemofreviving/items/StrawChargeItem.java +++ b/src/main/java/dev/micle/totemofreviving/items/StrawChargeItem.java @@ -1,4 +1,4 @@ -package com.micle.totemofreviving.items; +package dev.micle.totemofreviving.items; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; @@ -6,6 +6,6 @@ import net.minecraft.item.Rarity; public class StrawChargeItem extends Item { public StrawChargeItem() { - super(new Item.Properties().tab(ItemGroup.TAB_MISC).rarity(Rarity.UNCOMMON)); + super(new Item.Properties().group(ItemGroup.MISC).rarity(Rarity.UNCOMMON)); } } diff --git a/src/main/java/com/micle/totemofreviving/items/StrawTotemItem.java b/src/main/java/dev/micle/totemofreviving/items/StrawTotemItem.java similarity index 72% rename from src/main/java/com/micle/totemofreviving/items/StrawTotemItem.java rename to src/main/java/dev/micle/totemofreviving/items/StrawTotemItem.java index 7530cba..ce71aae 100755 --- a/src/main/java/com/micle/totemofreviving/items/StrawTotemItem.java +++ b/src/main/java/dev/micle/totemofreviving/items/StrawTotemItem.java @@ -1,9 +1,9 @@ -package com.micle.totemofreviving.items; +package dev.micle.totemofreviving.items; -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.network.C2SRequestPlayerRevive; -import com.micle.totemofreviving.network.C2SRequestTotemCharge; -import com.micle.totemofreviving.network.C2SRequestTotemTarget; +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.network.C2SRequestPlayerRevive; +import dev.micle.totemofreviving.network.C2SRequestTotemCharge; +import dev.micle.totemofreviving.network.C2SRequestTotemTarget; import net.minecraft.client.Minecraft; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.client.util.InputMappings; @@ -32,18 +32,18 @@ public class StrawTotemItem extends Item { public static final int STARTING_FAIL_CHANCE = 45; public StrawTotemItem() { - super(new Item.Properties().tab(ItemGroup.TAB_MISC).stacksTo(1).rarity(Rarity.UNCOMMON)); + super(new Item.Properties().group(ItemGroup.MISC).maxStackSize(1).rarity(Rarity.UNCOMMON)); } @Override - public void appendHoverText(ItemStack stack, World world, List tooltip, ITooltipFlag flag) { - super.appendHoverText(stack, world, tooltip, flag); + public void addInformation(ItemStack stack, World world, List tooltip, ITooltipFlag flag) { + super.addInformation(stack, world, tooltip, flag); tooltip.add(new StringTextComponent(TextFormatting.GOLD + "Charges: " + TextFormatting.GRAY + stack.getOrCreateTag().getInt(TAG_CHARGE_AMOUNT))); tooltip.add(new StringTextComponent(TextFormatting.GOLD + "Target: " + TextFormatting.GRAY + stack.getOrCreateTag().getString(TAG_TARGET_NAME))); tooltip.add(new StringTextComponent(TextFormatting.GOLD + "Fail Chance: " + TextFormatting.GRAY + stack.getOrCreateTag().getInt(TAG_FAIL_CHANCE))); tooltip.add(new StringTextComponent( TextFormatting.DARK_GRAY + "" + TextFormatting.ITALIC + "\"Feels kinda funky.\"")); tooltip.add(new StringTextComponent("")); - if (InputMappings.isKeyDown(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_KEY_LEFT_SHIFT)) { + if (InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_LEFT_SHIFT)) { tooltip.add(new StringTextComponent(TextFormatting.YELLOW + "R-CLICK")); tooltip.add(new StringTextComponent(TextFormatting.GOLD + "When other hand is empty: attempt to revive target.")); tooltip.add(new StringTextComponent(TextFormatting.GOLD + "When other hand has " + TextFormatting.GRAY + "Straw Reviving Charge" + TextFormatting.GOLD + ": charge totem.")); @@ -56,31 +56,31 @@ public class StrawTotemItem extends Item { } @Override - public void onCraftedBy(ItemStack stack, World world, PlayerEntity player) { - super.onCraftedBy(stack, world, player); + public void onCreated(ItemStack stack, World world, PlayerEntity player) { + super.onCreated(stack, world, player); stack.getOrCreateTag().putInt(TAG_CHARGE_AMOUNT, 0); stack.getOrCreateTag().putInt(TAG_FAIL_CHANCE, STARTING_FAIL_CHANCE); } @Override @OnlyIn(Dist.CLIENT) - public ActionResult use(World world, PlayerEntity player, Hand hand) { - if (!world.isClientSide) { return super.use(world, player, hand); } + public ActionResult onItemRightClick(World world, PlayerEntity player, Hand hand) { + if (world.isRemote) { return super.onItemRightClick(world, player, hand); } if (player.isCrouching()) { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemTarget(player.getUUID(), hand)); + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemTarget(player.getUniqueID(), hand)); } else { Hand item_charge_hand = Hand.MAIN_HAND; if (hand.equals(Hand.MAIN_HAND)) { item_charge_hand = Hand.OFF_HAND; } - Item item_charge = player.getItemInHand(item_charge_hand).getItem(); + Item item_charge = player.getHeldItem(item_charge_hand).getItem(); if (item_charge instanceof StrawChargeItem) { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemCharge(player.getUUID(), hand, item_charge_hand)); + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemCharge(player.getUniqueID(), hand, item_charge_hand)); } else { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestPlayerRevive(player.getUUID(), hand)); + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestPlayerRevive(player.getUniqueID(), hand)); } } - return super.use(world, player, hand); + return super.onItemRightClick(world, player, hand); } } diff --git a/src/main/java/com/micle/totemofreviving/items/TotemOfRevivingItem.java b/src/main/java/dev/micle/totemofreviving/items/TotemOfRevivingItem.java similarity index 68% rename from src/main/java/com/micle/totemofreviving/items/TotemOfRevivingItem.java rename to src/main/java/dev/micle/totemofreviving/items/TotemOfRevivingItem.java index 37bec95..37bd83b 100755 --- a/src/main/java/com/micle/totemofreviving/items/TotemOfRevivingItem.java +++ b/src/main/java/dev/micle/totemofreviving/items/TotemOfRevivingItem.java @@ -1,82 +1,82 @@ -package com.micle.totemofreviving.items; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.network.C2SRequestPlayerRevive; -import com.micle.totemofreviving.network.C2SRequestTotemCharge; -import com.micle.totemofreviving.network.C2SRequestTotemTarget; -import net.minecraft.client.Minecraft; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.client.util.InputMappings; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; -import net.minecraft.item.ItemStack; - -import net.minecraft.item.Rarity; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import org.lwjgl.glfw.GLFW; - -import java.util.List; - -public class TotemOfRevivingItem extends Item { - public static final String TAG_CHARGE_AMOUNT = "charge"; - public static final String TAG_TARGET_INDEX = "target_index"; - public static final String TAG_TARGET_NAME = "target_name"; - - public TotemOfRevivingItem() { - super(new Item.Properties().tab(ItemGroup.TAB_MISC).stacksTo(1).rarity(Rarity.RARE)); - } - - @Override - public void appendHoverText(ItemStack stack, World world, List tooltip, ITooltipFlag flag) { - super.appendHoverText(stack, world, tooltip, flag); - tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Charges: " + TextFormatting.BLUE + stack.getOrCreateTag().getInt(TAG_CHARGE_AMOUNT))); - tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Target: " + TextFormatting.BLUE + stack.getOrCreateTag().getString(TAG_TARGET_NAME))); - tooltip.add(new StringTextComponent("")); - if (InputMappings.isKeyDown(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_KEY_LEFT_SHIFT)) { - tooltip.add(new StringTextComponent(TextFormatting.AQUA + "R-CLICK")); - tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "When other hand is empty: attempt to revive target.")); - tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "When other hand has " + TextFormatting.BLUE + "Reviving Charge" + TextFormatting.DARK_AQUA + ": charge totem.")); - tooltip.add(new StringTextComponent("")); - tooltip.add(new StringTextComponent(TextFormatting.AQUA + "SHIFT R-CLICK")); - tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Cycle through available targets.")); - } else { - tooltip.add(new StringTextComponent(TextFormatting.GRAY + "[" + TextFormatting.WHITE + "LSHIFT" + TextFormatting.GRAY + "] for advanced tooltip.")); - } - } - - @Override - public void onCraftedBy(ItemStack stack, World world, PlayerEntity player) { - super.onCraftedBy(stack, world, player); - stack.getOrCreateTag().putInt(TAG_CHARGE_AMOUNT, 0); - } - - @Override - @OnlyIn(Dist.CLIENT) - public ActionResult use(World world, PlayerEntity player, Hand hand) { - if (!world.isClientSide) { return super.use(world, player, hand); } - if (player.isCrouching()) { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemTarget(player.getUUID(), hand)); - } else { - Hand item_charge_hand = Hand.MAIN_HAND; - if (hand.equals(Hand.MAIN_HAND)) { - item_charge_hand = Hand.OFF_HAND; - } - Item item_charge = player.getItemInHand(item_charge_hand).getItem(); - - if (item_charge instanceof RevivingChargeItem) { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemCharge(player.getUUID(), hand, item_charge_hand)); - } else { - TotemOfReviving.INSTANCE.sendToServer(new C2SRequestPlayerRevive(player.getUUID(), hand)); - } - } - return super.use(world, player, hand); - } -} +package dev.micle.totemofreviving.items; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.network.C2SRequestPlayerRevive; +import dev.micle.totemofreviving.network.C2SRequestTotemCharge; +import dev.micle.totemofreviving.network.C2SRequestTotemTarget; +import net.minecraft.client.Minecraft; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.util.InputMappings; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; + +import net.minecraft.item.Rarity; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import org.lwjgl.glfw.GLFW; + +import java.util.List; + +public class TotemOfRevivingItem extends Item { + public static final String TAG_CHARGE_AMOUNT = "charge"; + public static final String TAG_TARGET_INDEX = "target_index"; + public static final String TAG_TARGET_NAME = "target_name"; + + public TotemOfRevivingItem() { + super(new Item.Properties().group(ItemGroup.MISC).maxStackSize(1).rarity(Rarity.RARE)); + } + + @Override + public void addInformation(ItemStack stack, World world, List tooltip, ITooltipFlag flag) { + super.addInformation(stack, world, tooltip, flag); + tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Charges: " + TextFormatting.BLUE + stack.getOrCreateTag().getInt(TAG_CHARGE_AMOUNT))); + tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Target: " + TextFormatting.BLUE + stack.getOrCreateTag().getString(TAG_TARGET_NAME))); + tooltip.add(new StringTextComponent("")); + if (InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_LEFT_SHIFT)) { + tooltip.add(new StringTextComponent(TextFormatting.AQUA + "R-CLICK")); + tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "When other hand is empty: attempt to revive target.")); + tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "When other hand has " + TextFormatting.BLUE + "Reviving Charge" + TextFormatting.DARK_AQUA + ": charge totem.")); + tooltip.add(new StringTextComponent("")); + tooltip.add(new StringTextComponent(TextFormatting.AQUA + "SHIFT R-CLICK")); + tooltip.add(new StringTextComponent(TextFormatting.DARK_AQUA + "Cycle through available targets.")); + } else { + tooltip.add(new StringTextComponent(TextFormatting.GRAY + "[" + TextFormatting.WHITE + "LSHIFT" + TextFormatting.GRAY + "] for advanced tooltip.")); + } + } + + @Override + public void onCreated(ItemStack stack, World world, PlayerEntity player) { + super.onCreated(stack, world, player); + stack.getOrCreateTag().putInt(TAG_CHARGE_AMOUNT, 0); + } + + @Override + @OnlyIn(Dist.CLIENT) + public ActionResult onItemRightClick(World world, PlayerEntity player, Hand hand) { + if (world.isRemote) { return super.onItemRightClick(world, player, hand); } + if (player.isCrouching()) { + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemTarget(player.getUniqueID(), hand)); + } else { + Hand item_charge_hand = Hand.MAIN_HAND; + if (hand.equals(Hand.MAIN_HAND)) { + item_charge_hand = Hand.OFF_HAND; + } + Item item_charge = player.getHeldItem(item_charge_hand).getItem(); + + if (item_charge instanceof RevivingChargeItem) { + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestTotemCharge(player.getUniqueID(), hand, item_charge_hand)); + } else { + TotemOfReviving.INSTANCE.sendToServer(new C2SRequestPlayerRevive(player.getUniqueID(), hand)); + } + } + return super.onItemRightClick(world, player, hand); + } +} diff --git a/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java b/src/main/java/dev/micle/totemofreviving/network/C2SRequestPlayerRevive.java similarity index 72% rename from src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java rename to src/main/java/dev/micle/totemofreviving/network/C2SRequestPlayerRevive.java index 96db502..8a752dd 100755 --- a/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java +++ b/src/main/java/dev/micle/totemofreviving/network/C2SRequestPlayerRevive.java @@ -1,90 +1,86 @@ -package com.micle.totemofreviving.network; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.items.StrawTotemItem; -import com.micle.totemofreviving.items.TotemOfRevivingItem; -import com.micle.totemofreviving.utils.Utils; -import net.minecraft.client.audio.Sound; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.network.PacketBuffer; -import net.minecraft.potion.EffectInstance; -import net.minecraft.potion.Effects; -import net.minecraft.stats.Stats; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Hand; -import net.minecraft.util.SoundEvent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.GameType; -import net.minecraft.world.server.ServerWorld; -import net.minecraftforge.fml.network.NetworkEvent; - -import java.util.UUID; -import java.util.function.Supplier; - -public class C2SRequestPlayerRevive { - private final UUID player_uuid; - private final Hand hand; - - public C2SRequestPlayerRevive(final UUID player_uuid, final Hand hand) { - this.player_uuid = player_uuid; - this.hand = hand; - } - - public static void encode(final C2SRequestPlayerRevive msg, final PacketBuffer packet_buffer) { - packet_buffer.writeUUID(msg.player_uuid); - packet_buffer.writeEnum(msg.hand); - } - - public static C2SRequestPlayerRevive decode(final PacketBuffer packet_buffer) { - return new C2SRequestPlayerRevive(packet_buffer.readUUID(), packet_buffer.readEnum(Hand.class)); - } - - public static void handle(final C2SRequestPlayerRevive msg, final Supplier context_supplier) { - final NetworkEvent.Context context = context_supplier.get(); - context.enqueueWork(() -> { - final ServerPlayerEntity sender = TotemOfReviving.players.getPlayer(msg.player_uuid); - if (sender == null) { return; } - - ItemStack item = sender.getItemInHand(msg.hand); - if (item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_TARGET_INDEX) > TotemOfReviving.players.getPlayerCount()-1 || item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME).equals("")) { - sender.sendMessage(new StringTextComponent(TextFormatting.RED + "Error getting target! (Try selecting the target again)"), sender.getUUID()); - } else { - ServerPlayerEntity player_to_revive = TotemOfReviving.players.getPlayerByName(item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME)); - ServerWorld player_to_revive_world = player_to_revive.getLevel(); - ServerWorld sender_world = sender.getLevel(); - int required_charge = player_to_revive.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)); - if (player_to_revive.isSpectator()) { - if (player_to_revive_world.equals(sender_world)) { - if (item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT) >= required_charge) { - if (item.getOrCreateTag().contains(StrawTotemItem.TAG_FAIL_CHANCE)) { - int fail_chance = item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); - if (Utils.randomIntRange(0, 100) <= fail_chance) { - item.getOrCreateTag().putInt(StrawTotemItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(StrawTotemItem.TAG_CHARGE_AMOUNT)-required_charge); - item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); - sender.addEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1)); - return; - } else { - item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); - } - } - player_to_revive.teleportTo(sender.getX(), sender.getY(), sender.getZ()); - player_to_revive.setGameMode(GameType.SURVIVAL); - item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT) - required_charge); - sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Successfully revived " + TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString()), sender.getUUID()); - } else { - sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Not enough charge! Required charge is: " + TextFormatting.DARK_GRAY + required_charge), sender.getUUID()); - } - } else { - sender.sendMessage(new StringTextComponent(TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString() + TextFormatting.GRAY + " is not in this dimension!"), sender.getUUID()); - } - } else { - sender.sendMessage(new StringTextComponent(TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString() + TextFormatting.GRAY + " is not dead!"), sender.getUUID()); - } - } - }); - context.setPacketHandled(true); - } -} +package dev.micle.totemofreviving.network; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.items.StrawTotemItem; +import dev.micle.totemofreviving.items.TotemOfRevivingItem; +import dev.micle.totemofreviving.utils.Utils; +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; +import net.minecraft.potion.EffectInstance; +import net.minecraft.potion.Effects; +import net.minecraft.stats.Stats; +import net.minecraft.util.Hand; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.GameType; +import net.minecraft.world.server.ServerWorld; +import net.minecraftforge.fml.network.NetworkEvent; + +import java.util.UUID; +import java.util.function.Supplier; + +public class C2SRequestPlayerRevive { + private final UUID player_uuid; + private final Hand hand; + + public C2SRequestPlayerRevive(final UUID player_uuid, final Hand hand) { + this.player_uuid = player_uuid; + this.hand = hand; + } + + public static void encode(final C2SRequestPlayerRevive msg, final PacketBuffer packet_buffer) { + packet_buffer.writeUniqueId(msg.player_uuid); + packet_buffer.writeEnumValue(msg.hand); + } + + public static C2SRequestPlayerRevive decode(final PacketBuffer packet_buffer) { + return new C2SRequestPlayerRevive(packet_buffer.readUniqueId(), packet_buffer.readEnumValue(Hand.class)); + } + + public static void handle(final C2SRequestPlayerRevive msg, final Supplier context_supplier) { + final NetworkEvent.Context context = context_supplier.get(); + context.enqueueWork(() -> { + final ServerPlayerEntity sender = TotemOfReviving.players.getPlayerByUUID(msg.player_uuid); + if (sender == null) { return; } + + ItemStack item = sender.getHeldItem(msg.hand); + if (item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_TARGET_INDEX) > TotemOfReviving.players.getCurrentPlayerCount()-1 || item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME).equals("")) { + sender.sendMessage(new StringTextComponent(TextFormatting.RED + "Error getting target! (Try selecting the target again)"), sender.getUniqueID()); + } else { + ServerPlayerEntity player_to_revive = TotemOfReviving.players.getPlayerByUsername(item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME)); + ServerWorld player_to_revive_world = player_to_revive.getServerWorld(); + ServerWorld sender_world = sender.getServerWorld(); + int required_charge = player_to_revive.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)); + if (player_to_revive.isSpectator()) { + if (player_to_revive_world.equals(sender_world)) { + if (item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT) >= required_charge) { + if (item.getOrCreateTag().contains(StrawTotemItem.TAG_FAIL_CHANCE)) { + int fail_chance = item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); + if (Utils.randomIntRange(0, 100) <= fail_chance) { + item.getOrCreateTag().putInt(StrawTotemItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(StrawTotemItem.TAG_CHARGE_AMOUNT)-required_charge); + item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); + sender.addPotionEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1)); + return; + } else { + item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); + } + } + player_to_revive.moveForced(sender.getPosX(), sender.getPosY(), sender.getPosZ()); + player_to_revive.setGameType(GameType.SURVIVAL); + item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT) - required_charge); + sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Successfully revived " + TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString()), sender.getUniqueID()); + } else { + sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Not enough charge! Required charge is: " + TextFormatting.DARK_GRAY + required_charge), sender.getUniqueID()); + } + } else { + sender.sendMessage(new StringTextComponent(TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString() + TextFormatting.GRAY + " is not in this dimension!"), sender.getUniqueID()); + } + } else { + sender.sendMessage(new StringTextComponent(TextFormatting.DARK_GRAY + player_to_revive.getDisplayName().getString() + TextFormatting.GRAY + " is not dead!"), sender.getUniqueID()); + } + } + }); + context.setPacketHandled(true); + } +} diff --git a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java b/src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemCharge.java similarity index 65% rename from src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java rename to src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemCharge.java index 2ca8093..53724b2 100755 --- a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java +++ b/src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemCharge.java @@ -1,65 +1,63 @@ -package com.micle.totemofreviving.network; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.items.StrawTotemItem; -import com.micle.totemofreviving.items.TotemOfRevivingItem; -import com.micle.totemofreviving.utils.Utils; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.network.PacketBuffer; -import net.minecraft.potion.EffectInstance; -import net.minecraft.potion.Effects; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Hand; -import net.minecraftforge.fml.network.NetworkEvent; - -import java.util.UUID; -import java.util.function.Supplier; - -public class C2SRequestTotemCharge { - private final UUID player_uuid; - private final Hand hand; - private final Hand item_charge_hand; - - public C2SRequestTotemCharge(final UUID player_uuid, final Hand hand, final Hand item_charge_hand) { - this.player_uuid = player_uuid; - this.hand = hand; - this.item_charge_hand = item_charge_hand; - } - - public static void encode(final C2SRequestTotemCharge msg, final PacketBuffer packet_buffer) { - packet_buffer.writeUUID(msg.player_uuid); - packet_buffer.writeEnum(msg.hand); - packet_buffer.writeEnum(msg.item_charge_hand); - } - - public static C2SRequestTotemCharge decode(final PacketBuffer packet_buffer) { - return new C2SRequestTotemCharge(packet_buffer.readUUID(), packet_buffer.readEnum(Hand.class), packet_buffer.readEnum(Hand.class)); - } - - public static void handle(final C2SRequestTotemCharge msg, final Supplier context_supplier) { - final NetworkEvent.Context context = context_supplier.get(); - context.enqueueWork(() -> { - final ServerPlayerEntity sender = TotemOfReviving.players.getPlayer(msg.player_uuid); - if (sender == null) { return; } - - ItemStack charge_item = sender.getItemInHand(msg.item_charge_hand); - ItemStack totem_item = sender.getItemInHand(msg.hand); - charge_item.setCount(charge_item.getCount()-1); - totem_item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT, totem_item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT)+1); - - if (totem_item.getOrCreateTag().contains(StrawTotemItem.TAG_FAIL_CHANCE)) { - int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); - if (Utils.randomIntRange(0, 100) <= fail_chance) { - sender.setItemInHand(msg.hand, new ItemStack(Items.AIR)); - sender.addEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1)); - } else { - totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5); - } - } - }); - context.setPacketHandled(true); - } -} +package dev.micle.totemofreviving.network; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.items.StrawTotemItem; +import dev.micle.totemofreviving.items.TotemOfRevivingItem; +import dev.micle.totemofreviving.utils.Utils; +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.network.PacketBuffer; +import net.minecraft.potion.EffectInstance; +import net.minecraft.potion.Effects; +import net.minecraft.util.Hand; +import net.minecraftforge.fml.network.NetworkEvent; + +import java.util.UUID; +import java.util.function.Supplier; + +public class C2SRequestTotemCharge { + private final UUID player_uuid; + private final Hand hand; + private final Hand item_charge_hand; + + public C2SRequestTotemCharge(final UUID player_uuid, final Hand hand, final Hand item_charge_hand) { + this.player_uuid = player_uuid; + this.hand = hand; + this.item_charge_hand = item_charge_hand; + } + + public static void encode(final C2SRequestTotemCharge msg, final PacketBuffer packet_buffer) { + packet_buffer.writeUniqueId(msg.player_uuid); + packet_buffer.writeEnumValue(msg.hand); + packet_buffer.writeEnumValue(msg.item_charge_hand); + } + + public static C2SRequestTotemCharge decode(final PacketBuffer packet_buffer) { + return new C2SRequestTotemCharge(packet_buffer.readUniqueId(), packet_buffer.readEnumValue(Hand.class), packet_buffer.readEnumValue(Hand.class)); + } + + public static void handle(final C2SRequestTotemCharge msg, final Supplier context_supplier) { + final NetworkEvent.Context context = context_supplier.get(); + context.enqueueWork(() -> { + final ServerPlayerEntity sender = TotemOfReviving.players.getPlayerByUUID(msg.player_uuid); + if (sender == null) { return; } + + ItemStack charge_item = sender.getHeldItem(msg.item_charge_hand); + ItemStack totem_item = sender.getHeldItem(msg.hand); + charge_item.setCount(charge_item.getCount()-1); + totem_item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT, totem_item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_CHARGE_AMOUNT)+1); + + if (totem_item.getOrCreateTag().contains(StrawTotemItem.TAG_FAIL_CHANCE)) { + int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); + if (Utils.randomIntRange(0, 100) <= fail_chance) { + sender.setHeldItem(msg.hand, new ItemStack(Items.AIR)); + sender.addPotionEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1)); + } else { + totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5); + } + } + }); + context.setPacketHandled(true); + } +} diff --git a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemTarget.java b/src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemTarget.java similarity index 78% rename from src/main/java/com/micle/totemofreviving/network/C2SRequestTotemTarget.java rename to src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemTarget.java index 36d9ad2..c107bec 100755 --- a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemTarget.java +++ b/src/main/java/dev/micle/totemofreviving/network/C2SRequestTotemTarget.java @@ -1,52 +1,52 @@ -package com.micle.totemofreviving.network; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.items.TotemOfRevivingItem; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.network.PacketBuffer; -import net.minecraft.util.Hand; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.fml.network.NetworkEvent; - -import java.util.UUID; -import java.util.function.Supplier; - -public class C2SRequestTotemTarget { - private final UUID player_uuid; - private final Hand hand; - - public C2SRequestTotemTarget(final UUID player_uuid, final Hand hand) { - this.player_uuid = player_uuid; - this.hand = hand; - } - - public static void encode(final C2SRequestTotemTarget msg, final PacketBuffer packet_buffer) { - packet_buffer.writeUUID(msg.player_uuid); - packet_buffer.writeEnum(msg.hand); - } - - public static C2SRequestTotemTarget decode(final PacketBuffer packet_buffer) { - return new C2SRequestTotemTarget(packet_buffer.readUUID(), packet_buffer.readEnum(Hand.class)); - } - - public static void handle(final C2SRequestTotemTarget msg, final Supplier context_supplier) { - final NetworkEvent.Context context = context_supplier.get(); - context.enqueueWork(() -> { - final ServerPlayerEntity sender = TotemOfReviving.players.getPlayer(msg.player_uuid); - if (sender == null) { return; } - - ItemStack item = sender.getItemInHand(msg.hand); - int current_player_index = item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_TARGET_INDEX) + 1; - if (current_player_index > TotemOfReviving.players.getPlayerCount()-1) { - current_player_index = 0; - } - - item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_TARGET_INDEX, current_player_index); - item.getOrCreateTag().putString(TotemOfRevivingItem.TAG_TARGET_NAME, TotemOfReviving.players.getPlayers().get(current_player_index).getDisplayName().getString()); - sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Target: " + TextFormatting.DARK_GRAY + item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME)), sender.getUUID()); - }); - context.setPacketHandled(true); - } -} +package dev.micle.totemofreviving.network; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.items.TotemOfRevivingItem; +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; +import net.minecraft.util.Hand; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.fml.network.NetworkEvent; + +import java.util.UUID; +import java.util.function.Supplier; + +public class C2SRequestTotemTarget { + private final UUID player_uuid; + private final Hand hand; + + public C2SRequestTotemTarget(final UUID player_uuid, final Hand hand) { + this.player_uuid = player_uuid; + this.hand = hand; + } + + public static void encode(final C2SRequestTotemTarget msg, final PacketBuffer packet_buffer) { + packet_buffer.writeUniqueId(msg.player_uuid); + packet_buffer.writeEnumValue(msg.hand); + } + + public static C2SRequestTotemTarget decode(final PacketBuffer packet_buffer) { + return new C2SRequestTotemTarget(packet_buffer.readUniqueId(), packet_buffer.readEnumValue(Hand.class)); + } + + public static void handle(final C2SRequestTotemTarget msg, final Supplier context_supplier) { + final NetworkEvent.Context context = context_supplier.get(); + context.enqueueWork(() -> { + final ServerPlayerEntity sender = TotemOfReviving.players.getPlayerByUUID(msg.player_uuid); + if (sender == null) { return; } + + ItemStack item = sender.getHeldItem(msg.hand); + int current_player_index = item.getOrCreateTag().getInt(TotemOfRevivingItem.TAG_TARGET_INDEX) + 1; + if (current_player_index > TotemOfReviving.players.getCurrentPlayerCount()-1) { + current_player_index = 0; + } + + item.getOrCreateTag().putInt(TotemOfRevivingItem.TAG_TARGET_INDEX, current_player_index); + item.getOrCreateTag().putString(TotemOfRevivingItem.TAG_TARGET_NAME, TotemOfReviving.players.getPlayers().get(current_player_index).getDisplayName().getString()); + sender.sendMessage(new StringTextComponent(TextFormatting.GRAY + "Target: " + TextFormatting.DARK_GRAY + item.getOrCreateTag().getString(TotemOfRevivingItem.TAG_TARGET_NAME)), sender.getUniqueID()); + }); + context.setPacketHandled(true); + } +} diff --git a/src/main/java/com/micle/totemofreviving/setup/ModItems.java b/src/main/java/dev/micle/totemofreviving/setup/ModItems.java similarity index 67% rename from src/main/java/com/micle/totemofreviving/setup/ModItems.java rename to src/main/java/dev/micle/totemofreviving/setup/ModItems.java index 55bcd85..d520f9b 100755 --- a/src/main/java/com/micle/totemofreviving/setup/ModItems.java +++ b/src/main/java/dev/micle/totemofreviving/setup/ModItems.java @@ -1,19 +1,18 @@ -package com.micle.totemofreviving.setup; - -import com.micle.totemofreviving.items.RevivingChargeItem; -import com.micle.totemofreviving.items.StrawChargeItem; -import com.micle.totemofreviving.items.StrawTotemItem; -import com.micle.totemofreviving.items.TotemOfRevivingItem; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; -import net.minecraftforge.fml.RegistryObject; - -public class ModItems { - public static final RegistryObject TOTEM_OF_REVIVING = Registration.ITEMS.register("totem_of_reviving", TotemOfRevivingItem::new); - public static final RegistryObject REVIVING_CHARGE = Registration.ITEMS.register("reviving_charge", RevivingChargeItem::new); - public static final RegistryObject STRAW_TOTEM = Registration.ITEMS.register("straw_totem", StrawTotemItem::new); - public static final RegistryObject STRAW_CHARGE = Registration.ITEMS.register("straw_charge", StrawChargeItem::new); - - static void register() { - } -} +package dev.micle.totemofreviving.setup; + +import dev.micle.totemofreviving.items.RevivingChargeItem; +import dev.micle.totemofreviving.items.StrawChargeItem; +import dev.micle.totemofreviving.items.StrawTotemItem; +import dev.micle.totemofreviving.items.TotemOfRevivingItem; +import net.minecraft.item.Item; +import net.minecraftforge.fml.RegistryObject; + +public class ModItems { + public static final RegistryObject TOTEM_OF_REVIVING = Registration.ITEMS.register("totem_of_reviving", TotemOfRevivingItem::new); + public static final RegistryObject REVIVING_CHARGE = Registration.ITEMS.register("reviving_charge", RevivingChargeItem::new); + public static final RegistryObject STRAW_TOTEM = Registration.ITEMS.register("straw_totem", StrawTotemItem::new); + public static final RegistryObject STRAW_CHARGE = Registration.ITEMS.register("straw_charge", StrawChargeItem::new); + + static void register() { + } +} diff --git a/src/main/java/com/micle/totemofreviving/setup/Registration.java b/src/main/java/dev/micle/totemofreviving/setup/Registration.java similarity index 83% rename from src/main/java/com/micle/totemofreviving/setup/Registration.java rename to src/main/java/dev/micle/totemofreviving/setup/Registration.java index 167c01f..8e00556 100755 --- a/src/main/java/com/micle/totemofreviving/setup/Registration.java +++ b/src/main/java/dev/micle/totemofreviving/setup/Registration.java @@ -1,25 +1,25 @@ -package com.micle.totemofreviving.setup; - -import com.micle.totemofreviving.TotemOfReviving; -import com.micle.totemofreviving.events.ServerTickEventHandler; -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; - -public class Registration { - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TotemOfReviving.MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TotemOfReviving.MOD_ID); - - public static void register() { - IEventBus mod_event_bus = FMLJavaModLoadingContext.get().getModEventBus(); - BLOCKS.register(mod_event_bus); - ITEMS.register(mod_event_bus); - MinecraftForge.EVENT_BUS.register(new ServerTickEventHandler()); - - ModItems.register(); - } -} +package dev.micle.totemofreviving.setup; + +import dev.micle.totemofreviving.TotemOfReviving; +import dev.micle.totemofreviving.events.ServerTickEventHandler; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; + +public class Registration { + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TotemOfReviving.MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TotemOfReviving.MOD_ID); + + public static void register() { + IEventBus mod_event_bus = FMLJavaModLoadingContext.get().getModEventBus(); + BLOCKS.register(mod_event_bus); + ITEMS.register(mod_event_bus); + MinecraftForge.EVENT_BUS.register(new ServerTickEventHandler()); + + ModItems.register(); + } +} diff --git a/src/main/java/com/micle/totemofreviving/utils/Utils.java b/src/main/java/dev/micle/totemofreviving/utils/Utils.java similarity index 89% rename from src/main/java/com/micle/totemofreviving/utils/Utils.java rename to src/main/java/dev/micle/totemofreviving/utils/Utils.java index 36bdac6..e11b706 100755 --- a/src/main/java/com/micle/totemofreviving/utils/Utils.java +++ b/src/main/java/dev/micle/totemofreviving/utils/Utils.java @@ -1,19 +1,19 @@ -package com.micle.totemofreviving.utils; - -public class Utils { - public static float clamp(float val, float min, float max) { - return Math.max(min, Math.min(max, val)); - } - - public static int randomIntRange(int min, int max) { - return (int) randomDoubleRange(min, max); - } - - public static float randomFloatRange(float min, float max) { - return (float) randomDoubleRange(min, max); - } - - public static double randomDoubleRange(double min, double max) { - return ((Math.random() * (max - min)) + min); - } -} +package dev.micle.totemofreviving.utils; + +public class Utils { + public static float clamp(float val, float min, float max) { + return Math.max(min, Math.min(max, val)); + } + + public static int randomIntRange(int min, int max) { + return (int) randomDoubleRange(min, max); + } + + public static float randomFloatRange(float min, float max) { + return (float) randomDoubleRange(min, max); + } + + public static double randomDoubleRange(double min, double max) { + return ((Math.random() * (max - min)) + min); + } +}