Init to comit it!

This commit is contained in:
2026-08-02 13:57:13 -04:00
commit 8a769437c0
29 changed files with 814 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
package com.vixis;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Mod(
modid = Vixis.MODID,
name = Vixis.NAME,
version = Vixis.VERSION,
acceptedMinecraftVersions = "[1.12.2]"
)
public class Vixis {
public static final String MODID = "vixis";
public static final String NAME = "Vixis";
public static final String VERSION = "0.1.0";
public static final Logger LOGGER = LogManager.getLogger(MODID);
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
LOGGER.info("Vixis preInit ({})", event.getModMetadata().version);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
LOGGER.info("Vixis ready.");
}
}

View File

@@ -0,0 +1,30 @@
package com.vixis.advancement;
import com.vixis.Vixis;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementProgress;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ResourceLocation;
public final class VixisAdvancements {
public static final ResourceLocation KISS_A_FOX = new ResourceLocation(Vixis.MODID, "kiss_a_fox");
private VixisAdvancements() {
}
public static void grant(EntityPlayerMP player, ResourceLocation id) {
Advancement advancement = player.getServerWorld().getAdvancementManager().getAdvancement(id);
if (advancement == null) {
return;
}
AdvancementProgress progress = player.getAdvancements().getProgress(advancement);
if (progress.isDone()) {
return;
}
for (String criterion : progress.getRemaningCriteria()) {
player.getAdvancements().grantCriterion(advancement, criterion);
}
}
}

View File

@@ -0,0 +1,56 @@
package com.vixis.event;
import com.vixis.Vixis;
import com.vixis.advancement.VixisAdvancements;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
@Mod.EventBusSubscriber(modid = Vixis.MODID)
public final class FoxKissHandler {
private static final String FOX_NAME = "KenwoodFox";
private FoxKissHandler() {
}
@SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase != TickEvent.Phase.END || event.player.world.isRemote) {
return;
}
if (!(event.player instanceof EntityPlayerMP)) {
return;
}
EntityPlayerMP player = (EntityPlayerMP) event.player;
for (EntityPlayer other : player.world.playerEntities) {
if (other == player || !isKenwoodFox(other)) {
continue;
}
if (player.getEntityBoundingBox().intersects(other.getEntityBoundingBox())) {
VixisAdvancements.grant(player, VixisAdvancements.KISS_A_FOX);
return;
}
}
for (Entity entity : player.world.loadedEntityList) {
if (entity == player || entity instanceof EntityPlayer || !isKenwoodFox(entity)) {
continue;
}
if (player.getEntityBoundingBox().intersects(entity.getEntityBoundingBox())) {
VixisAdvancements.grant(player, VixisAdvancements.KISS_A_FOX);
return;
}
}
}
private static boolean isKenwoodFox(Entity entity) {
if (FOX_NAME.equals(entity.getName())) {
return true;
}
return entity.hasCustomName() && FOX_NAME.equals(entity.getCustomNameTag());
}
}

View File

@@ -0,0 +1,33 @@
package com.vixis.item;
import com.vixis.Vixis;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@Mod.EventBusSubscriber(modid = Vixis.MODID)
public final class ModItems {
public static Item LOGO;
public static Item KISS_CHEEV;
private ModItems() {
}
@SubscribeEvent
public static void registerItems(RegistryEvent.Register<Item> event) {
LOGO = new Item();
LOGO.setRegistryName(Vixis.MODID, "logo");
LOGO.setTranslationKey(Vixis.MODID + ".logo");
LOGO.setMaxStackSize(1);
KISS_CHEEV = new Item();
KISS_CHEEV.setRegistryName(Vixis.MODID, "kiss_cheev");
KISS_CHEEV.setTranslationKey(Vixis.MODID + ".kiss_cheev");
KISS_CHEEV.setCreativeTab(CreativeTabs.MISC);
KISS_CHEEV.setMaxStackSize(1);
event.getRegistry().registerAll(LOGO, KISS_CHEEV);
}
}

View File

@@ -0,0 +1,30 @@
package com.vixis.item;
import com.vixis.Vixis;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
@Mod.EventBusSubscriber(modid = Vixis.MODID, value = Side.CLIENT)
public final class ModItemsClient {
private ModItemsClient() {
}
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event) {
register(ModItems.LOGO);
register(ModItems.KISS_CHEEV);
}
private static void register(Item item) {
ModelLoader.setCustomModelResourceLocation(
item,
0,
new ModelResourceLocation(item.getRegistryName(), "inventory")
);
}
}