Compare commits

...

4 Commits

Author SHA1 Message Date
0f62dbbebd Changed build version number to v2.0.0. 2024-01-27 17:36:40 +00:00
499aa2192e Finished porting to 1.20.1. 2024-01-26 21:23:09 +00:00
813e5d4255 Creative mode tabs:
- Changed translation key for creative mode tab name to follow vanilla.
- Removed old creative mode tab register event handler.
- Created new creative mode tab registration setup.
- Optimized imports.
2024-01-26 21:10:17 +00:00
ec0e54947c Changed versions. 2024-01-26 20:50:10 +00:00
18 changed files with 61 additions and 57 deletions

View File

@ -8,7 +8,7 @@ name = Micle's Totem of Reviving
author = Micle
buildVersion = 2.0.0
mcVersion = 1.19.4
forgeVersion = 45.2.8
mcVersion = 1.20.1
forgeVersion = 47.2.20
#jeiVersion = 11.+

View File

@ -1 +1 @@
rootProject.name = 'TotemOfReviving-1.19'
rootProject.name = 'TotemOfReviving-1.20'

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:diamond_charge"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:diamond_totem"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:iron_charge"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:iron_totem"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:netherite_charge"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:netherite_totem"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:straw_charge"
]
}
},
"sends_telemetry_event": false
}

View File

@ -30,5 +30,6 @@
"recipes": [
"totemofreviving:straw_totem"
]
}
},
"sends_telemetry_event": false
}

View File

@ -3,8 +3,6 @@ package dev.micle.totemofreviving;
import dev.micle.totemofreviving.proxy.IProxy;
import dev.micle.totemofreviving.proxy.Proxy;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
@ -15,7 +13,6 @@ import java.util.Optional;
@Mod(TotemOfReviving.MOD_ID)
public final class TotemOfReviving {
public static final String MOD_ID = "totemofreviving";
public static CreativeModeTab CREATIVE_TAB = CreativeModeTabs.getDefaultTab();
private static IProxy proxy;

View File

@ -1,33 +0,0 @@
package dev.micle.totemofreviving.event.common;
import dev.micle.totemofreviving.TotemOfReviving;
import dev.micle.totemofreviving.setup.ModItems;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.CreativeModeTabEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = TotemOfReviving.MOD_ID)
public class OnCreativeModeTabRegisterEventHandler {
@SubscribeEvent
public static void creativeModeTabRegisterEvent(CreativeModeTabEvent.Register event) {
System.out.println("HERE!");
TotemOfReviving.CREATIVE_TAB = event.registerCreativeModeTab(
TotemOfReviving.createResourceLocation("creative_mode_tab_main"), builder -> builder
.icon(() -> new ItemStack(ModItems.STRAW_TOTEM.get()))
.title(Component.translatable(String.format("tabs.%s.main_tab", TotemOfReviving.MOD_ID)))
.displayItems((featureFlags, output) -> {
output.accept(ModItems.STRAW_TOTEM.get());
output.accept(ModItems.IRON_TOTEM.get());
output.accept(ModItems.DIAMOND_TOTEM.get());
output.accept(ModItems.NETHERITE_TOTEM.get());
output.accept(ModItems.STRAW_CHARGE.get());
output.accept(ModItems.IRON_CHARGE.get());
output.accept(ModItems.DIAMOND_CHARGE.get());
output.accept(ModItems.NETHERITE_CHARGE.get());
})
);
}
}

View File

@ -1,6 +1,5 @@
package dev.micle.totemofreviving.item.charge;
import dev.micle.totemofreviving.setup.Config;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;

View File

@ -49,7 +49,7 @@ public class ReviveTargetPacket {
return;
}
if (!target.getLevel().equals(sender.getLevel()) && !TotemItem.canReviveAcrossDimensions(totemStack)) {
if (!target.serverLevel().equals(sender.serverLevel()) && !TotemItem.canReviveAcrossDimensions(totemStack)) {
sender.sendSystemMessage(Component.literal(ChatFormatting.GRAY + target.getDisplayName().getString() + ChatFormatting.WHITE + " is in a different dimension!"));
return;
}
@ -60,8 +60,8 @@ public class ReviveTargetPacket {
return;
}
target.teleportTo(sender.getLevel(), sender.position().x, sender.position().y, sender.position().z, sender.getYRot(), sender.getXRot());
target.setGameMode(sender.getLevel().getServer().getDefaultGameType());
target.teleportTo(sender.serverLevel(), sender.position().x, sender.position().y, sender.position().z, sender.getYRot(), sender.getXRot());
target.setGameMode(sender.serverLevel().getServer().getDefaultGameType());
TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) - TotemItem.getTargetCost(totemStack));
totemStack.hurtAndBreak(1, sender, e -> e.broadcastBreakEvent(packet.hand));
sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Successfully revived " + ChatFormatting.GRAY + target.getDisplayName().getString() + "!"));

View File

@ -0,0 +1,28 @@
package dev.micle.totemofreviving.setup;
import dev.micle.totemofreviving.TotemOfReviving;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraftforge.registries.RegistryObject;
public class ModCreativeModeTabs {
public static RegistryObject<CreativeModeTab> MAIN = Registration.CREATIVE_MODE_TABS.register("main",
() -> CreativeModeTab.builder()
.title(Component.translatable(String.format("itemGroup.%s.main", TotemOfReviving.MOD_ID)))
.icon(ModItems.STRAW_TOTEM.get()::getDefaultInstance)
.displayItems((itemDisplayParameters, output) -> {
output.accept(ModItems.STRAW_TOTEM.get());
output.accept(ModItems.IRON_TOTEM.get());
output.accept(ModItems.DIAMOND_TOTEM.get());
output.accept(ModItems.NETHERITE_TOTEM.get());
output.accept(ModItems.STRAW_CHARGE.get());
output.accept(ModItems.IRON_CHARGE.get());
output.accept(ModItems.DIAMOND_CHARGE.get());
output.accept(ModItems.NETHERITE_CHARGE.get());
})
.build()
);
public static void register() {}
}

View File

@ -1,7 +1,8 @@
package dev.micle.totemofreviving.setup;
import dev.micle.totemofreviving.TotemOfReviving;
import dev.micle.totemofreviving.event.common.OnCreativeModeTabRegisterEventHandler;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@ -13,12 +14,16 @@ public class Registration {
public static final DeferredRegister<Item> ITEMS =
DeferredRegister.create(ForgeRegistries.ITEMS, TotemOfReviving.MOD_ID);
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS =
DeferredRegister.create(Registries.CREATIVE_MODE_TAB, TotemOfReviving.MOD_ID);
public static void register() {
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
ITEMS.register(modEventBus);
ModItems.register();
modEventBus.register(OnCreativeModeTabRegisterEventHandler.class);
CREATIVE_MODE_TABS.register(modEventBus);
ModCreativeModeTabs.register();
}
}

View File

@ -6,7 +6,7 @@
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
modLoader = "javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
loaderVersion = "[45,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
loaderVersion = "[47,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties.
# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here.
license = "All Rights Reserved"
@ -43,7 +43,7 @@ Mod for reviving players in a hardcore world.
# Does this dependency have to exist - if not, ordering below must be specified
mandatory = true #mandatory
# The version range of the dependency
versionRange = "[45,)" #mandatory
versionRange = "[47,)" #mandatory
# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
ordering = "NONE"
# Side this dependency is applied on - BOTH, CLIENT or SERVER
@ -53,6 +53,6 @@ Mod for reviving players in a hardcore world.
modId = "minecraft"
mandatory = true
# This version range declares a minimum of the current minecraft version up to but not including the next major version
versionRange = "[1.19.4,1.20)"
versionRange = "[1.20.1,1.20.2)"
ordering = "NONE"
side = "BOTH"

View File

@ -1,5 +1,5 @@
{
"tabs.totemofreviving.main_tab": "Micle's Totem of Reviving",
"itemGroup.totemofreviving.main": "Micle's Totem of Reviving",
"item.totemofreviving.straw_totem": "Straw totem of reviving",
"item.totemofreviving.iron_totem": "Iron totem of reviving",
"item.totemofreviving.diamond_totem": "Diamond totem of reviving",