Jump to content

Client proxy update help?


jordsta95

Recommended Posts

Hey there, I decided (finally) to update my mod to 1.6, and to start with (after installing the new forge, MCP, etc) I simply changed the code to the 1.6 code and it all worked fine, apart from the textures not working.

So then I refactored and renamed my mod (in eclipse) from mods.EverythingAndMore to assets.jordsta95, because, well everyone on YouTube uses assests.NAME and I think I heard one youtuber say that the NAME cannot have capitals in it....

 

Well anyway, I don't have any errors in the code.. well Eclipse isn't showing any at least. And I am getting this crashlog:

 

 

---- Minecraft Crash Report ----

// Everything's going to plan. No, really, that was supposed to happen.

 

Time: 03/09/13 15:18

Description: There was a severe problem during mod loading that has caused the game to fail

 

cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: assets.jordsta95.ClientProxy

at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:75)

at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

at com.google.common.eventbus.EventBus.post(EventBus.java:267)

at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:194)

at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:174)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

at com.google.common.eventbus.EventBus.post(EventBus.java:267)

at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:105)

at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:182)

at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

at net.minecraft.client.main.Main.main(Main.java:93)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

Caused by: java.lang.ClassNotFoundException: assets.jordsta95.ClientProxy

at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:179)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at cpw.mods.fml.common.ModClassLoader.loadClass(ModClassLoader.java:58)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:58)

... 33 more

Caused by: java.lang.NullPointerException

at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:171)

... 39 more

 

 

A detailed walkthrough of the error, its code path and all known details is as follows:

---------------------------------------------------------------------------------------

 

-- System Details --

Details:

Minecraft Version: 1.6.2

Operating System: Windows 7 (amd64) version 6.1

Java Version: 1.7.0_21, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 763789872 bytes (728 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used

Suspicious classes: FML and Forge are installed

IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

FML: MCP v8.04 FML v6.2.35.804 Minecraft Forge 9.10.0.804 4 mods loaded, 4 mods active

mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed

FML{6.2.35.804} [Forge Mod Loader] (coremods) Unloaded->Constructed

Forge{9.10.0.804} [Minecraft Forge] (coremods) Unloaded->Constructed

EverythingAndMore{v0.4} [Everything And More] (bin) Unloaded->Errored

 

 

 

Here is my main class:

 

 

package assests.jordsta95; //Package directory

 

/*

* Basic importing

*/

 

 

import java.util.TreeMap;

 

 

import net.minecraft.block.Block;

import net.minecraft.client.renderer.entity.RenderCreeper;

import net.minecraft.client.renderer.entity.RenderManager;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.enchantment.Enchantment;

import net.minecraft.enchantment.EnumEnchantmentType;

import net.minecraft.entity.Entity;

import net.minecraft.entity.EntityEggInfo;

import net.minecraft.entity.EntityList;

import net.minecraft.entity.EnumCreatureType;

import net.minecraft.item.EnumArmorMaterial;

import net.minecraft.item.EnumToolMaterial;

import net.minecraft.item.Item;

import net.minecraft.item.ItemFood;

import net.minecraft.item.ItemStack;

import net.minecraft.src.ModLoader;

import net.minecraft.world.WorldProvider;

import net.minecraft.world.biome.BiomeGenBase;

import net.minecraftforge.common.Configuration;

import net.minecraftforge.common.DimensionManager;

import net.minecraftforge.common.EnumHelper;

import net.minecraftforge.common.MinecraftForge;

import net.minecraftforge.common.Property;

import net.minecraftforge.oredict.OreDictionary;

import cpw.mods.fml.client.registry.RenderingRegistry;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.Mod.Init;

import cpw.mods.fml.common.Mod.Instance;

import cpw.mods.fml.common.Mod.PostInit;

import cpw.mods.fml.common.Mod.PreInit;

import cpw.mods.fml.common.Mod.ServerStarting;

import cpw.mods.fml.common.SidedProxy;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLLoadEvent;

import cpw.mods.fml.common.event.FMLPostInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;

import cpw.mods.fml.common.event.FMLServerStartingEvent;

import cpw.mods.fml.common.network.NetworkMod;

import cpw.mods.fml.common.registry.EntityRegistry;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.common.registry.LanguageRegistry;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

 

 

/*

* Basic needed forge stuff

*/

@Mod(modid="EverythingAndMore",name="Everything And More",version="v0.4")

@NetworkMod(clientSideRequired=false,serverSideRequired=false)

 

 

public class Everything_and_More_Mod {

 

public static final String modid = "EverythingAndMoreMod";

 

@SidedProxy(clientSide = "assets.jordsta95.ClientProxy", serverSide = "assets.jordsta95.CommonProxy")

public static assests.jordsta95.CommonProxy CommonProxy;

 

@Instance("EAMMod")

public static Everything_and_More_Mod instance;

 

//Creative Mode Tabs

public static CreativeTabs EEMTab = new EEMTab("Everything And More");

public static CreativeTabs Ender = new Ender("Ender Items");

/*

* ToolMaterial

*/

 

//Telling forge that we are creating these

 

//Biomes

 

 

 

//items

public static Item Lovite;

public static Item Cyanitide;

public static Item RefinedHeart;

public static Item HeartWheat;

public static Item BakedWithLove;

public static Item GoldStick;

public static Item TaurinPick;

public static Item Vertide;

public static Item TaurinAxe;

public static Item TaurinShovel;

public static Item TaurinSword;

public static Item DragonScale;

public static Item DSHelmet;

public static Item DSBoots;

public static Item DSLegs;

public static Item DSBody;

public static Item Cape;

public static Item CyLoFragment;

public static Item CyLoShard;

public static Item LoveClump;

public static Item CyanClump;

public static Item LightBelt;

public static Item End1Pick;

public static Item End1Axe;

public static Item End1Shovel;

public static Item End1Sword;

public static Item EndDust;

public static Item EndIngot;

public static Item EndStick;

public static Item DOneHelm;

public static Item DOneChest;

public static Item DOneLegs;

public static Item DOneBoots;

public static Item ItemTier2EnderAxe;

public static Item ItemTier2EnderPick;

public static Item ItemTier2EnderShovel;

public static Item ItemTier2EnderSword;

public static Item DPEndIngot;

public static Item DragonEgg;

public static Item ItemEndShaxel;

public static Item WIEndIngot;

public static Item BaseWitherSword;

public static Item BaseWitherPick;

public static Item BaseWitherAxe;

public static Item BaseWitherShovel;

public static Item ItemEndCaptainSparklez;

public static Item ItemEndChimneySwift;

public static Item Iridium;

public static Item Circuit;

 

 

 

 

 

//blocks

public static Block HeartStone;

public static Block CyOre;

public static Block LoveOre;

public static Block VertOre;

public static Block LoveLight;

public static Block Light;

public static Block DropLight;

public static Block TopSoil;

public static Block Marble;

public static Block MarbleBrick;

public static Block Basalt;

public static Block BasaltBrick;

public static Block BasaltPaver;

public static Block BasaltCobble;

public static Block BasaltStairs;

public static Block MarbleStairs;

public static Block BasaltBrickStairs;

public static Block MarbleBrickStairs;

public static Block EMPortal;

 

 

 

 

 

public static int Dimension = 137;

 

 

static int startEntityID = 300;

 

public static int LoviteID;

public static int CyanitideID;

public static int RefinedHeartID;

public static int HeartWheatID;

public static int BakedWithLoveID;

public static int GoldStickID;

public static int TaurinPickID;

public static int VertideID;

public static int TaurinAxeID;

public static int TaurinShovelID;

public static int TaurinSwordID;

public static int DragonScaleID;

public static int DSHelmetID;

public static int DSBootsID;

public static int DSLegsID;

public static int DSBodyID;

public static int CapeID;

public static int CyLoFragmentID;

public static int CyLoSharIDd;

public static int LoveClumpID;

public static int CyanClumpID;

public static int LightBeltID;

public static int End1PickID;

public static int End1AxeID;

public static int End1ShovelID;

public static int End1SwordID;

public static int EndDustID;

public static int EndIngotID;

public static int EndStickID;

public static int DOneHelmID;

public static int DOneChestID;

public static int DOneLegsID;

public static int DOneBootsID;

public static int ItemTier2EnderAxeID;

public static int ItemTier2EnderPickID;

public static int ItemTier2EnderShovelID;

public static int ItemTier2EnderSwordID;

public static int DPEndIngotID;

public static int DragonEggID;

public static int ItemEndShaxelID;

public static int WIEndIngotID;

public static int BaseWitherSwordID;

public static int BaseWitherPickID;

public static int BaseWitherAxeID;

public static int BaseWitherShovelID;

public static int ItemEndCaptainSparklezID;

public static int ItemEndChimneySwiftID;

public static int SteelID;

public static int Steel2ID;

public static int QuartzID;

public static int IridiumID;

 

 

 

//EnumMaterials (Tools/Armour)

EnumArmorMaterial DRAGONSCALE;

EnumToolMaterial TAURIN;

EnumToolMaterial CYLO;

EnumToolMaterial ENDONE;

EnumToolMaterial ENDTWO;

EnumToolMaterial ENDFIRE;

EnumToolMaterial ENDTHREE;

EnumToolMaterial ENDPAXEL;

 

 

 

//public void preinit(FMLPreInitializationEvent event){

//Configuration EverythingAndMore = new Configuration(event.getSuggestedConfigurationFile());

//LoviteID = EverythingAndMore.get("Item ID's", "Lovite ID", "4198").getInt();

//CyanitideID = EverythingAndMore.get("Item ID's", "Cyanitide ID", "4199").getInt();

//RefinedHeartID = EverythingAndMore.get("Item ID's", "Grown With Love ID", "4200").getInt();

//BakedWithLoveID = EverythingAndMore.get("Item ID's", "Baked with Love ID", "4201").getInt();

//GoldStickID = EverythingAndMore.get("Item ID's", "Gold Stick ID", "4202").getInt();

//TaurinPickID = EverythingAndMore.get("Item ID's", "Taurin Pick ID", "4203").getInt();

//VertideID = EverythingAndMore.get("Item ID's", "Taurin ID", "4204").getInt();

//TaurinAxeID = EverythingAndMore.get("Item ID's", "Taurin Axe ID", "4205").getInt();

 

 

// EverythingAndMore.save();

//}

 

 

//Declaring Init

@EventHandler

public void load(FMLInitializationEvent event)

{

//Define material enums

DefineMaterials();

 

//Define items/blocks

DefineBlocksAndItems();

 

//Register the mod's world gen

GameRegistry.registerWorldGenerator(new OreGen());

GameRegistry.registerWorldGenerator(new TaurinGen());

GameRegistry.registerWorldGenerator(new RPGen());

 

//Add names to the registry

AddNames();

 

//Add mod related entities to the registry

AddEntities();

 

//Do minecraft forge related tasks

DoMinecraftForgeStuff();

 

//Add crafting and furnace recipes

AddCraftingRecipes();

 

oreRegistration();

}

 

//Get a unique entity ID

public int getUniqueEntityID()

{

do

{

startEntityID++;

}

while(EntityList.getStringFromID(startEntityID) != null);

 

return startEntityID;

 

}

 

//Register entity eggs for the mod

public void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor)

{

int id = getUniqueEntityID();

EntityList.IDtoClassMapping.put(id, entity);

EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor));

}

 

//Add all mod related names to registry

public void AddNames()

{

LanguageRegistry.addName(Lovite, "Lovite");

LanguageRegistry.addName(Cyanitide, "Cyanitide");

LanguageRegistry.addName(RefinedHeart, "Refined Heart");

LanguageRegistry.addName(HeartWheat, "Grown with Love");

LanguageRegistry.addName(BakedWithLove, "Baked with Love");

LanguageRegistry.addName(GoldStick, "Golden Stick");

LanguageRegistry.addName(TaurinPick, "Taurin Pickaxe");

LanguageRegistry.addName(Vertide, "Taurin");

LanguageRegistry.addName(TaurinAxe, "Taurin Axe");

LanguageRegistry.addName(TaurinShovel, "Taurin Shovel");

LanguageRegistry.addName(TaurinSword, "Taurin Sword");

LanguageRegistry.addName(DragonScale, "Dragon Scale");

LanguageRegistry.addName(DSHelmet, "DragonScale Helmet");

LanguageRegistry.addName(DSBody, "DragonScale Body");

LanguageRegistry.addName(DSLegs, "DragonScale Leggings");

LanguageRegistry.addName(DSBoots, "DragonScale Boots");

LanguageRegistry.addName(HeartStone, "Heart Stone");

LanguageRegistry.addName(CyOre, "Cyanitide Ore");

LanguageRegistry.addName(LoveOre, "Lovite Ore");

LanguageRegistry.addName(LoveLight, "Love Light");

LanguageRegistry.addName(VertOre, "Taurin Ore");

LanguageRegistry.addName(Light, "Illuminator");

LanguageRegistry.addName(CyLoFragment, "CyLoFragment");

LanguageRegistry.addName(CyLoShard, "CyLoShard");

LanguageRegistry.addName(LoveClump, "Love Clump");

LanguageRegistry.addName(CyanClump, "Cyan Clump");

LanguageRegistry.addName(LightBelt, "Light Belt");

LanguageRegistry.addName(DropLight, "Drop Light");

LanguageRegistry.addName(End1Pick, "Ender Pick");

LanguageRegistry.addName(End1Axe, "Ender Axe");

LanguageRegistry.addName(End1Shovel, "Ender Shovel");

LanguageRegistry.addName(End1Sword, "Ender Sword");

LanguageRegistry.addName(EndDust, "End Dust");

LanguageRegistry.addName(EndIngot, "End Ingot");

LanguageRegistry.addName(EndStick, "End Stick");

LanguageRegistry.addName(DOneHelm, "Ender Helmet");

LanguageRegistry.addName(DOneChest, "Ender Chestplate");

LanguageRegistry.addName(DOneLegs, "Ender Leggings");

LanguageRegistry.addName(DOneBoots, "Ender Booties");

LanguageRegistry.addName(ItemTier2EnderAxe, "Reinfored Ender Axe");

LanguageRegistry.addName(ItemTier2EnderPick, "Reinforced Ender Pickaxe");

LanguageRegistry.addName(ItemTier2EnderShovel, "Reinforced Ender Shovel");

LanguageRegistry.addName(ItemTier2EnderSword, "Reinforced Ender Sword");

LanguageRegistry.addName(DPEndIngot, "Reinforced End Ingot");

LanguageRegistry.addName(DragonEgg, "DragonScale Packet");

LanguageRegistry.addName(Cape, "Cape");

LanguageRegistry.addName(TopSoil, "Top Soil");

LanguageRegistry.addName(ItemEndShaxel, "Ender Picksel");

LanguageRegistry.addName(WIEndIngot, "Wither Ingot");

LanguageRegistry.addName(BaseWitherSword, "Wither Sword");

LanguageRegistry.addName(BaseWitherPick, "Wither Pickaxe");

LanguageRegistry.addName(BaseWitherAxe, "Wither Axe");

LanguageRegistry.addName(BaseWitherShovel, "Wither Shovel");

LanguageRegistry.addName(ItemEndCaptainSparklez, "Creeper Staff");

LanguageRegistry.addName(Marble, "Marble");

LanguageRegistry.addName(MarbleBrick, "Marble Brick");

LanguageRegistry.addName(Basalt, "Basalt");

LanguageRegistry.addName(BasaltBrick, "Basalt Brick");

LanguageRegistry.addName(BasaltPaver, "Basalt Paver");

LanguageRegistry.addName(BasaltCobble, "Basalt Cobble");

LanguageRegistry.addName(BasaltStairs, "Basalt Stairs");

LanguageRegistry.addName(MarbleStairs, "Marble Stairs");

LanguageRegistry.addName(MarbleBrickStairs, "Marble Brick Stairs");

LanguageRegistry.addName(BasaltBrickStairs, "Basalt Brick Stairs");

LanguageRegistry.addName(ItemEndChimneySwift, "Hermit Sword");

LanguageRegistry.addName(Iridium, "Iridium");

LanguageRegistry.addName(EMPortal, "Portal");

LanguageRegistry.addName(Circuit, "Circuit");

 

 

 

 

 

 

 

LanguageRegistry.instance().addStringLocalization("itemGroup.Everything And More", "en_US", "Everything and More");

LanguageRegistry.instance().addStringLocalization("itemGroup.Ender Items", "en_US", "Ender Items");

 

 

}

 

//Define all blocks and items in the mod, registering each

public void DefineBlocksAndItems()

{

Lovite = new Lovite(4198).setUnlocalizedName("Lovite");

Cyanitide = new Cyanitide(4197).setUnlocalizedName("Cyanitide");

RefinedHeart = new RefinedHeart(4199).setUnlocalizedName("RefinedHeart");

HeartWheat = new HeartWheat(4200).setUnlocalizedName("HeartWheat");

BakedWithLove = new Bread(4201, 8, 6.5F, false).setUnlocalizedName("BakedWithLove");

GoldStick = new GoldStick(4202).setUnlocalizedName("GoldStick");

TaurinPick = new TaurinPick(4203, TAURIN).setUnlocalizedName("TaurinPick");

Vertide = new Vertide(4204).setUnlocalizedName("Vertide");

TaurinAxe = new TaurinAxe(4205, TAURIN).setUnlocalizedName("TaurinAxe");

TaurinShovel = new TaurinShovel(4206,TAURIN).setUnlocalizedName("TaurinShovel");

TaurinSword = new TaurinSword(4207, TAURIN).setUnlocalizedName("TaurinSword");

DragonScale = new DragonScale(4208).setUnlocalizedName("DragonScale");

DSHelmet = new DSArmour(4209, DRAGONSCALE , CommonProxy.addArmor("DSArmour"), 0).setUnlocalizedName("DSHelmet").setCreativeTab(CreativeTabs.tabCombat);

DSBody = new DSBody(4210, DRAGONSCALE , CommonProxy.addArmor("DSArmour"), 1).setUnlocalizedName("DSBody").setCreativeTab(CreativeTabs.tabCombat);

DSLegs = new DSArmour(4211, DRAGONSCALE , CommonProxy.addArmor("DSArmour"), 2).setUnlocalizedName("DSLegs").setCreativeTab(CreativeTabs.tabCombat);

DSBoots = new DSArmour(4212, DRAGONSCALE , CommonProxy.addArmor("DSArmour"), 3).setUnlocalizedName("DSBoots").setCreativeTab(CreativeTabs.tabCombat);

CyLoFragment = new CyLoFragment(4213).setUnlocalizedName("CyLoFragment").setCreativeTab(Everything_and_More_Mod.EEMTab);

CyLoShard = new CyLoShard(4214).setUnlocalizedName("CyLoShard").setCreativeTab(Everything_and_More_Mod.EEMTab);

LoveClump = new LoveClump(4215).setUnlocalizedName("LoveClump").setCreativeTab(Everything_and_More_Mod.EEMTab);

CyanClump = new CyanClump(4216).setUnlocalizedName("CyanClump").setCreativeTab(Everything_and_More_Mod.EEMTab);

LightBelt = new LightBelt(4217).setUnlocalizedName("LightBelt").setCreativeTab(Everything_and_More_Mod.EEMTab);

End1Pick = new End1Pick(4218, ENDONE).setUnlocalizedName("End1Pick").setCreativeTab(Everything_and_More_Mod.Ender);

End1Axe = new End1Axe(4219, ENDONE).setUnlocalizedName("End1Axe").setCreativeTab(Everything_and_More_Mod.Ender);

End1Shovel = new End1Shovel(4220, ENDONE).setUnlocalizedName("End1Shovel").setCreativeTab(Everything_and_More_Mod.Ender);

End1Sword = new End1Sword(4221, ENDONE).setUnlocalizedName("End1Sword").setCreativeTab(Everything_and_More_Mod.Ender);

EndDust = new EndDust(4222).setUnlocalizedName("EndDust").setCreativeTab(Everything_and_More_Mod.Ender);

EndIngot = new EndIngot(4223).setUnlocalizedName("EndIngot").setCreativeTab(Everything_and_More_Mod.Ender);

EndStick = new EndStick(4224).setUnlocalizedName("EndStick").setCreativeTab(Everything_and_More_Mod.Ender);

DOneHelm = new EnderArmorHelm(4225, EnumArmorMaterial.DIAMOND, 1, 0).setUnlocalizedName("DOneHelm").setCreativeTab(CreativeTabs.tabCombat);

DOneChest = new EnderArmorChest(4226, EnumArmorMaterial.DIAMOND, 1, 1).setUnlocalizedName("DOneChest").setCreativeTab(CreativeTabs.tabCombat);

DOneLegs = new EnderArmorLegs(4227, EnumArmorMaterial.DIAMOND, 1, 2).setUnlocalizedName("DOneLegs").setCreativeTab(CreativeTabs.tabCombat);

DOneBoots = new EnderArmorBoots(4228, EnumArmorMaterial.DIAMOND, 1, 3).setUnlocalizedName("DOneBoots").setCreativeTab(CreativeTabs.tabCombat);

ItemTier2EnderAxe = new ItemTier2EnderAxe(4229, ENDTWO).setUnlocalizedName("ItemTier2EnderAxe").setCreativeTab(Everything_and_More_Mod.Ender);

ItemTier2EnderPick = new ItemTier2EnderPick(4230, ENDTWO).setUnlocalizedName("ItemTier2EnderPick").setCreativeTab(Everything_and_More_Mod.Ender);

ItemTier2EnderShovel = new ItemTier2EnderShovel(4231, ENDTWO).setUnlocalizedName("ItemTier2EnderShovel").setCreativeTab(Everything_and_More_Mod.Ender);

ItemTier2EnderSword = new ItemTier2EnderSword(4232, ENDTWO).setUnlocalizedName("ItemTier2EnderSword").setCreativeTab(Everything_and_More_Mod.Ender);

DPEndIngot = new DPEndIngot(4233).setUnlocalizedName("DPEndIngot").setCreativeTab(Everything_and_More_Mod.Ender);

DragonEgg = new DragonEgg(4234).setUnlocalizedName("DragonEgg").setCreativeTab(Everything_and_More_Mod.Ender);

Cape = new Cape(4235).setUnlocalizedName("Cape").setCreativeTab(Everything_and_More_Mod.EEMTab);

ItemEndShaxel = new ItemEndShaxel(4236, ENDPAXEL).setUnlocalizedName("ItemEndShaxel").setCreativeTab(Everything_and_More_Mod.Ender);

WIEndIngot = new WIEndIngot(4237).setUnlocalizedName("WIEndIngot").setCreativeTab(Everything_and_More_Mod.Ender);

BaseWitherSword = new BaseWitherSword (4238, ENDTHREE).setUnlocalizedName("BaseWitherSword").setCreativeTab(Everything_and_More_Mod.Ender);

BaseWitherPick = new BaseWitherPick(4239, ENDTHREE).setUnlocalizedName("BaseWitherPick").setCreativeTab(Everything_and_More_Mod.Ender);

BaseWitherAxe = new BaseWitherAxe(4240, ENDTHREE).setUnlocalizedName("BaseWitherAxe").setCreativeTab(Everything_and_More_Mod.Ender);

BaseWitherShovel = new BaseWitherShovel(4241, ENDTHREE).setUnlocalizedName("BaseWitherShovel").setCreativeTab(Everything_and_More_Mod.Ender);

ItemEndCaptainSparklez = new ItemEndCaptainSparklez(4242, ENDONE).setUnlocalizedName("ItemEndCaptainSparklez").setCreativeTab(Everything_and_More_Mod.Ender);

ItemEndChimneySwift = new ItemEndChimneySwift(4243).setCreativeTab(Everything_and_More_Mod.Ender).setUnlocalizedName("ItemEndChimneySwift");

Iridium = new Iridium(4247).setUnlocalizedName("Iridium").setCreativeTab(Everything_and_More_Mod.EEMTab);

Circuit = new Circuit(4249).setUnlocalizedName("Circuit").setCreativeTab(Everything_and_More_Mod.EEMTab);

 

 

 

 

 

HeartStone= new HeartStone(2189, "HeartStone").setUnlocalizedName("HeartStone").setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F).setCreativeTab(Everything_and_More_Mod.EEMTab);

GameRegistry.registerBlock(HeartStone, "HeartStone");

 

CyOre= new CyanOre(2188, "CyanOre").setUnlocalizedName("CyanOre").setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(CyOre, "CyanOre");

MinecraftForge.setBlockHarvestLevel(CyOre, "pickaxe", 1);

 

LoveOre= new LoviteOre(2187, "LoviteOre").setUnlocalizedName("LoviteOre").setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(LoveOre, "LoveOre");

MinecraftForge.setBlockHarvestLevel(LoveOre, "pickaxe", 1);

 

LoveLight= new LoveLight(2190, "LoveLight").setUnlocalizedName("LoveLight").setHardness(1.0F).setStepSound(Block.soundGlassFootstep).setResistance(3.0F).setLightValue(0.9F);

GameRegistry.registerBlock(LoveLight, "LoveLight");

 

VertOre= new VertOre(2191, "VertOre").setUnlocalizedName("VertOre").setHardness(4.0F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(VertOre, "VertOre");

MinecraftForge.setBlockHarvestLevel(VertOre, "pickaxe", 3);

 

Light= new Light(2192, "Light").setUnlocalizedName("Light").setHardness(1.0F).setStepSound(Block.soundGlassFootstep).setResistance(3.0F).setLightValue(1.0F);

GameRegistry.registerBlock(Light, "Light");

 

DropLight = new DropLight(2193, "DropLight").setUnlocalizedName("DropLight").setHardness(0.8F).setStepSound(Block.soundSandFootstep).setResistance(3.0F).setLightValue(1.0F).setCreativeTab(Everything_and_More_Mod.EEMTab);

GameRegistry.registerBlock(DropLight, "DropLight");

 

TopSoil = new TopSoil(2194, "TopSoil").setUnlocalizedName("TopSoil").setHardness(0.8F).setStepSound(Block.soundGrassFootstep).setResistance(3.0F).setCreativeTab(Everything_and_More_Mod.EEMTab);

GameRegistry.registerBlock(TopSoil, "TopSoil");

 

Marble= new Marble(2195, "Marble").setUnlocalizedName("Marble").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(Marble, "Marble");

MinecraftForge.setBlockHarvestLevel(Marble, "pickaxe", 0);

 

MarbleBrick= new MarbleBrick(2196, "Marble").setUnlocalizedName("MarbleBrick").setHardness(0.1F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(MarbleBrick, "MarbleBrick");

MinecraftForge.setBlockHarvestLevel(MarbleBrick, "pickaxe", 0);

 

Basalt = new Basalt(2197, "Basalt").setUnlocalizedName("Basalt").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10000.0F);

GameRegistry.registerBlock(Basalt, "Basalt");

MinecraftForge.setBlockHarvestLevel(Basalt, "pickaxe", 0);

 

BasaltBrick = new BasaltBrick(2198, "BasaltBrick").setUnlocalizedName("BasaltBrick").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(BasaltBrick, "BasaltBrick");

MinecraftForge.setBlockHarvestLevel(BasaltBrick, "pickaxe", 0);

 

BasaltPaver = new BasaltPaver(2199, "BasaltPaver").setUnlocalizedName("BasaltPaver").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(BasaltPaver, "BasaltPaver");

MinecraftForge.setBlockHarvestLevel(BasaltPaver, "pickaxe", 0);

 

BasaltCobble = new BasaltCobble(2200, "BasaltCobble").setUnlocalizedName("BasaltCobble").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(BasaltCobble, "BasaltCobble");

MinecraftForge.setBlockHarvestLevel(BasaltCobble, "pickaxe", 0);

 

BasaltStairs = new BasaltStairs(2201, "BasaltStairs").setUnlocalizedName("BasaltStairs").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(BasaltStairs, "BasaltStairs");

 

MarbleStairs = new MarbleStairs(2202, "MarbleStairs").setUnlocalizedName("MarbleStairs").setHardness(0.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(MarbleStairs, "MarbleStairs");

 

BasaltBrickStairs = new BasaltBrickStairs(2203, "BasaltBrickStairs").setUnlocalizedName("BasaltBrickStairs").setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(BasaltBrickStairs, "BasaltBrickStairs");

 

MarbleBrickStairs = new MarbleBrickStairs(2204, "MarbleBrickStairs").setUnlocalizedName("MarbleBrickStairs").setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setResistance(10.0F);

GameRegistry.registerBlock(MarbleBrickStairs, "MarbleBrickStairs");

 

 

 

 

EMPortal = new EMPortal(2300, "EMPortal").setUnlocalizedName("EMPortal");

GameRegistry.registerBlock(EMPortal, "EMPortal");

 

 

 

 

 

 

 

 

 

GameRegistry.registerItem(TaurinPick, "Taurin Pickaxe");

GameRegistry.registerItem(TaurinAxe, "Taurin Axe");

GameRegistry.registerItem(TaurinShovel, "Taurin Shovel");

 

 

GameRegistry.registerFuelHandler(new CyLoFuel());

 

 

 

DimensionManager.registerProviderType(Dimension, Dimension.class, false);

DimensionManager.registerDimension(Dimension, Dimension);

 

 

 

}

 

//Define material enums

public void DefineMaterials()

{

DRAGONSCALE = EnumHelper.addArmorMaterial("DRAGONSCALE", 50, new int[]{4, 8, 6, 2}, 30);

TAURIN = EnumHelper.addToolMaterial("TAURIN", 3, 3210, 14.0F, 7, 20);

CYLO = EnumHelper.addToolMaterial("CYLO", 3, 100, 5.0F, 7, 20);

ENDONE = EnumHelper.addToolMaterial("ENDONE", 2, 1248, 7.0F, 5, 10);

ENDTWO = EnumHelper.addToolMaterial("ENDTWO", 3, 2790, 14.0F, 7, 10);

ENDFIRE = EnumHelper.addToolMaterial("ENDFIRE", 3, 2790, 10.0F, 7, 10);

ENDTHREE = EnumHelper.addToolMaterial("ENDTHREE", 4, -1, 30.0F, 13, 10);

ENDPAXEL = EnumHelper.addToolMaterial("ENDPAXEL", 4, -1, 70.0F, 13, 10);

 

 

 

}

 

//Add all crafting and furnace recipes to the registry

public void AddCraftingRecipes()

{

GameRegistry.addRecipe(new ItemStack(HeartStone,1), new Object[]{

"LSL","SLS","LSL",'L',Lovite,'S',Block.stone

});

 

GameRegistry.addRecipe(new ItemStack(LoveLight,1), new Object[]{

"LGL","LGL","LLL",'L',Lovite,'G',Item.glowstone

});

 

GameRegistry.addShapelessRecipe(new ItemStack(HeartWheat,1), new Object[]{

RefinedHeart, Item.wheat

});

 

GameRegistry.addShapelessRecipe(new ItemStack(EndDust,2), new Object[]{

Item.enderPearl

});

 

GameRegistry.addShapelessRecipe(new ItemStack(Item.dyePowder, 1, 6), new Object[]{

Cyanitide

});

 

GameRegistry.addShapelessRecipe(new ItemStack(DragonEgg, 64), new Object[]{

Block.dragonEgg, Item.diamond, EndIngot

});

 

GameRegistry.addShapelessRecipe(new ItemStack(DragonScale, 6), new Object[]{

DragonEgg

});

 

GameRegistry.addShapelessRecipe(new ItemStack(Marble, 10), new Object[]{

Block.stone, Item.netherQuartz

});

 

GameRegistry.addShapelessRecipe(new ItemStack(BasaltCobble, 8), new Object[]{

Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Block.cobblestone, Item.coal

});

 

GameRegistry.addRecipe(new ItemStack(GoldStick,1), new Object[]{

"I","S","N",'I',Item.ingotGold,'S',Item.stick,'N',Item.goldNugget

});

 

GameRegistry.addRecipe(new ItemStack(TaurinPick,1), new Object[]{

"TTT"," S "," S ",'T',Vertide,'S',GoldStick

});

 

GameRegistry.addRecipe(new ItemStack(TaurinAxe,1), new Object[]{

"TT ","TS "," S ",'T',Vertide,'S',GoldStick

});

 

GameRegistry.addRecipe(new ItemStack(TaurinAxe,1), new Object[]{

" TT"," ST"," S ",'T',Vertide,'S',GoldStick

});

 

GameRegistry.addRecipe(new ItemStack(TaurinShovel,1), new Object[]{

"T","S","S",'T',Vertide,'S',GoldStick

});

 

GameRegistry.addRecipe(new ItemStack(TaurinSword,1), new Object[]{

"T","T","S",'T',Vertide,'S',GoldStick

});

 

GameRegistry.addRecipe(new ItemStack(CyanClump, 1), new Object[]{

"CC","CC",'C',Cyanitide

});

 

GameRegistry.addRecipe(new ItemStack(LoveClump, 1), new Object[]{

"LL","LL",'L',Lovite

});

 

GameRegistry.addRecipe(new ItemStack(CyLoFragment, 1), new Object[]{

"CC","LL",'C',CyanClump,'L',LoveClump

});

 

GameRegistry.addRecipe(new ItemStack(CyLoFragment, 1), new Object[]{

"LL","CC",'C',CyanClump,'L',LoveClump

});

 

GameRegistry.addRecipe(new ItemStack(LightBelt, 2), new Object[]{

" G ","LGL"," G ",'G',Item.glowstone,'L',Item.leather

});

 

GameRegistry.addRecipe(new ItemStack(DropLight, 1), new Object[]{

"SSS","BBB","SSS",'S',Block.sand,'B',LightBelt

});

 

GameRegistry.addRecipe(new ItemStack(CyLoShard, 1), new Object[]{

"FF","FF",'F',CyLoFragment

});

 

GameRegistry.addRecipe(new ItemStack(Light, 1), new Object[]{

"G G"," G ","G G",'G',Block.glowStone

});

 

GameRegistry.addRecipe(new ItemStack(EndStick, 1), new Object[]{

"D","S",'S',Item.stick,'D',EndDust

});

 

GameRegistry.addRecipe(new ItemStack(End1Sword, 1), new Object[]{

"I","I","S",'I',EndIngot,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(End1Shovel, 1), new Object[]{

"I","S","S",'I',EndIngot,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(End1Axe, 1), new Object[]{

"II ","IS "," S ",'I',EndIngot,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(End1Axe, 1), new Object[]{

" II"," SI"," S ",'I',EndIngot,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(End1Pick, 1), new Object[]{

"III"," S "," S ",'I',EndIngot,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(DPEndIngot, 1), new Object[]{

"SDS","DID","SDS",'S',DragonScale,'D',Item.diamond,'I',EndIngot

});

 

GameRegistry.addRecipe(new ItemStack(ItemTier2EnderSword), new Object[]{

"I","I","S",'I',DPEndIngot,'S',End1Sword

});

 

GameRegistry.addRecipe(new ItemStack(ItemTier2EnderShovel), new Object[]{

"I","E","S",'I',DPEndIngot,'S',End1Shovel,'E',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(ItemTier2EnderPick), new Object[]{

"III"," E "," S ",'I',DPEndIngot,'S',End1Pick,'E',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(ItemTier2EnderAxe), new Object[]{

"II","IE"," S",'I',DPEndIngot,'E',End1Axe,'S',EndStick

});

 

GameRegistry.addRecipe(new ItemStack(DSHelmet), new Object[]{

"SSS","S S",'S',DragonScale

});

 

GameRegistry.addRecipe(new ItemStack(DSBody), new Object[]{

"SCS","SSS","SSS",'S',DragonScale,'C',Cape

});

 

GameRegistry.addRecipe(new ItemStack(DSLegs), new Object[]{

"SSS","S S","S S",'S',DragonScale

});

 

GameRegistry.addRecipe(new ItemStack(DSBoots), new Object[]{

"S S","S S",'S',DragonScale

});

 

GameRegistry.addRecipe(new ItemStack(Cape), new Object[]{

"N  "," W ","  W",'N',Item.goldNugget,'W',Block.cloth

});

 

GameRegistry.addRecipe(new ItemStack(WIEndIngot, 3), new Object[]{

" S ","NNN","EEE",'S', new ItemStack(Item.skull, 1, 1),'N',Item.netherStar,'E',DPEndIngot

});

 

GameRegistry.addRecipe(new ItemStack(BaseWitherSword), new Object[]{

"I","I","S",'I',WIEndIngot,'S',ItemTier2EnderSword

});

 

GameRegistry.addRecipe(new ItemStack(BaseWitherPick), new Object[]{

"III"," S "," P ",'I',WIEndIngot,'P',ItemTier2EnderPick,'S',End1Pick

});

 

GameRegistry.addRecipe(new ItemStack(BaseWitherAxe), new Object[]{

"II","IS"," P",'I',WIEndIngot,'P',ItemTier2EnderAxe,'S',End1Axe

});

 

GameRegistry.addRecipe(new ItemStack(BaseWitherShovel), new Object[]{

"I","S","P",'I',WIEndIngot,'P',ItemTier2EnderShovel,'S',End1Shovel

});

 

GameRegistry.addRecipe(new ItemStack(MarbleBrick, 4), new Object[]{

"MM","MM",'M',Marble

});

 

GameRegistry.addRecipe(new ItemStack(BasaltBrick, 4), new Object[]{

"MM","MM",'M',Basalt

});

 

GameRegistry.addRecipe(new ItemStack(MarbleStairs), new Object[]{

"M  ","MM ","MMM",'M',Marble

});

 

GameRegistry.addRecipe(new ItemStack(MarbleBrickStairs), new Object[]{

"M  ","MM ","MMM",'M',MarbleBrick

});

 

GameRegistry.addRecipe(new ItemStack(BasaltStairs), new Object[]{

"M  ","MM ","MMM",'M',Basalt

});

 

GameRegistry.addRecipe(new ItemStack(BasaltBrickStairs), new Object[]{

"M  ","MM ","MMM",'M',BasaltBrick

});

 

GameRegistry.addShapelessRecipe(new ItemStack(BasaltPaver, 1), new Object[]{

Basalt

});

 

GameRegistry.addShapelessRecipe(new ItemStack(TopSoil), new Object[]{

Block.grass,Cyanitide

});

 

GameRegistry.addShapelessRecipe(new ItemStack(Block.dirt), new Object[]{

TopSoil

});

 

GameRegistry.addRecipe(new ItemStack(Item.flintAndSteel), new Object[]{

"I "," F",'I',Item.ingotIron,'F',Item.flint

});

 

GameRegistry.addRecipe(new ItemStack(Iridium, 2),new Object[]{

"BBB","IGI","BBB",'B',Block.blockDiamond,'G',Item.diamond,'I',Item.ingotIron

});

 

GameRegistry.addRecipe(new ItemStack(Circuit),new Object[]{

"RRR","RIR","RRR",'R',Item.redstone,'I',Item.ingotIron

});

 

GameRegistry.addRecipe(new ItemStack(Item.stick, 4),new Object[]{

"B","B",'B',Block.woodenButton

});

 

 

 

GameRegistry.addSmelting(Lovite.itemID, new ItemStack(RefinedHeart, 1), 1F);

GameRegistry.addSmelting(HeartWheat.itemID, new ItemStack(BakedWithLove, 1), 1F);

GameRegistry.addSmelting(EndDust.itemID, new ItemStack(EndIngot, 1), 1F);

GameRegistry.addSmelting(BasaltCobble.blockID, new ItemStack(Basalt, 1), 1F);

}

 

//Add all entities, rendering included

public void AddEntities()

{

 

//entities soon to be added again

 

 

}

 

//Does minecraft forge related tasks such as setting tool classes, etc.

public void DoMinecraftForgeStuff()

{

MinecraftForge.setToolClass(TaurinPick, "pickaxe", 3);

MinecraftForge.setToolClass(TaurinAxe, "axe", 3);

MinecraftForge.setToolClass(TaurinShovel, "shovel", 3);

MinecraftForge.setBlockHarvestLevel(VertOre, "pickaxe", 3);

}

 

public static void oreRegistration()

{

OreDictionary.registerOre("ingotIridium", new ItemStack(Iridium));

OreDictionary.registerOre("calclavia:CIRCUIT_T1", new ItemStack(Circuit));

}

 

 

 

 

 

 

public static void postInit(FMLPostInitializationEvent evt)

{

 

}

}

 

 

 

Client proxy:

 

 

package assests.jordsta95;

 

import cpw.mods.fml.client.registry.RenderingRegistry;

import net.minecraftforge.client.MinecraftForgeClient;

 

 

public class ClientProxy extends CommonProxy{

 

@Override

public void registerRenders(){

 

}

 

public int addArmor(String Armor)

{

return RenderingRegistry.addNewArmourRendererPrefix(Armor);

}

 

public void registerRenderers(){

//tba

}

}

 

 

 

 

And common... just if you need it:

 

 

package assests.jordsta95;

 

import cpw.mods.fml.common.registry.GameRegistry;

import net.minecraft.block.Block;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.player.EntityPlayerMP;

import net.minecraft.item.Item;

import net.minecraft.item.ItemBlock;

import net.minecraft.network.packet.Packet;

import net.minecraft.world.World;

 

public class CommonProxy {

 

public void registerRenders(){

 

}

public int addArmor(String Armor) {

return 0;

}

 

public void registerRenderers(){

 

}

 

 

}

 

 

 

saves asking for it, if it is needed :P

 

Anyway, I seriously cannot see why I am getting that crash :(

 

Any help would be greatly appreciated.

 

Thanks a lot

-Jordan

Why bother?

Link to comment
Share on other sites

As a side note, you're not supposed to put your src in the assets folder (previously the mods folder), only resources as textures.

 

@SidedProxy(clientSide = "assets.jordsta95.ClientProxy", serverSide = "assets.jordsta95.CommonProxy")
   public static assests.jordsta95.CommonProxy CommonProxy;

assets or assests ? your Client and Common proxy are located in assests.

Author of PneumaticCraft, MineChess, Minesweeper Mod and Sokoban Mod. Visit www.minemaarten.com to take a look at them.

Link to comment
Share on other sites

Thanks, it works now, but the textures don't....

So how do I get them to work, I don't understand the new way of modding AT ALL :/

 

Here is the texture code I have:

@Override

public void registerIcons(IconRegister iconRegister){

this.blockIcon = iconRegister.registerIcon(Everything_and_More_Mod.modid + ":" + (this.getUnlocalizedName().substring(5)));

}

 

But obviously, it doesn't work -_-

Why bother?

Link to comment
Share on other sites

See the originals:

public Block func_111022_d(String par1Str)
    {
        this.field_111026_f = par1Str;
        return this;
    }

    @SideOnly(Side.CLIENT)
    protected String func_111023_E()
    {
        return this.field_111026_f == null ? "MISSING_ICON_TILE_" + this.blockID + "_" + this.unlocalizedName : this.field_111026_f;
    }
public void registerIcons(IconRegister iconRegister){
this.blockIcon = iconRegister.registerIcon(this.func_111023_E());
}

Use func_111022_d, the texture setter.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • rp.crazyheal.xyz mods  
    • I'm developing a dimension, but it's kinda resource intensive so some times during player teleporting it lags behind making the player phase down into the void, so im trying to implement some kind of pregeneration to force the game loading a small set of chunks in the are the player will teleport to. Some of the things i've tried like using ServerLevel and ServerChunkCache methods like getChunk() dont actually trigger chunk generation if the chunk isn't already on persistent storage (already generated) or placing tickets, but that doesn't work either. Ideally i should be able to check when the task has ended too. I've peeked around some pregen engines, but they're too complex for my current understanding of the system of which I have just a basic understanding (how ServerLevel ,ServerChunkCache  and ChunkMap work) of. Any tips or other classes I should be looking into to understand how to do this correctly?
    • https://mclo.gs/4UC49Ao
    • Way back in the Forge 1.17 days, work started for adding JPMS (Java Platform Module Support) to ModLauncher and ForgeModLoader. This has been used internally by Forge and some libraries for a while now, but mods (those with mods.toml specifically) have not been able to take advantage of it. As of Forge 1.21.1 and 1.21.3, this is now possible!   What is JPMS and what does it mean for modders? JPMS is the Java Platform Module System, introduced in Java 9. It allows you to define modules, which are collections of packages and resources that can be exported or hidden from other modules. This allows for much more fine-tuned control over visibility, cleaner syntax for service declarations and support for sealed types across packages. For example, you might have a mod with a module called `com.example.mod` that exports `com.example.mod.api` and `com.example.mod.impl` to other mods, but hides `com.example.mod.internal` from them. This would allow you to have a clean API for other mods to use, while keeping your internal implementation details hidden from IDE hints, helping prevent accidental usage of internals that might break without prior notice. This is particularly useful if you'd like to use public records with module-private constructors or partially module-private record components, as you can create a sealed interface that only your record implements, having the interface be exported and the record hidden. It's also nice for declaring and using services, as you'll get compile-time errors from the Java compiler for typos and the like, rather than deferring to runtime errors. In more advanced cases, you can also have public methods that are only accessible to specific other modules -- handy if you want internal interactions between multiple of your own mods.   How do I bypass it? We understand there may be drama in implementing a system that prevents mods from accessing each other's internals when necessary (like when a mod is abandoned or you need to fix a compat issue) -- after all, we are already modding a game that doesn't have explicit support for Java mods yet. We have already thought of this and are offering APIs from day one to selectively bypass module restrictions. Let me be clear: Forge mods are not required to use JPMS. If you don't want to use it, you don't have to. The default behaviour is to have fully open, fully exported automatic modules. In Java, you can use the `Add-Opens` and `Add-Exports` manifest attributes to selectively bypass module restrictions of other mods at launch time, and we've added explicit support for these when loading your Forge mods. At compile-time, you can use existing solutions such as the extra-java-module-info Gradle plugin to deal with non-modular dependencies and add extra opens and exports to other modules. Here's an example on how to make the internal package `com.example.examplemod.internal` open to your mod in your build.gradle: tasks.named('jar', Jar) { manifest { attributes([ 'Add-Opens' : 'com.example.examplemod/com.example.examplemod.internal' 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_authors // (...) ]) } } With the above in your mod's jar manifest, you can now reflectively access the classes inside that internal package. Multiple entries are separated with a space, as per Java's official spec. You can also use Add-Exports to directly call without reflection, however you'd need to use the Gradle plugin mentioned earlier to be able to compile. The syntax for Add-Exports is the same as Add-Opens, and instructions for the compile-time step with the Gradle plugin are detailed later in this post. Remember to prefer the opens and exports keywords inside module-info.java for sources you control. The Add-Opens/Add-Exports attributes are only intended for forcing open other mods.   What else is new with module support? Previously, the runtime module name was always forced to the first mod ID in your `mods.toml` file and all packages were forced fully open and exported. Module names are now distinguished from mod IDs, meaning the module name in your module-info.java can be different from the mod ID in your `mods.toml`. This allows you to have a more descriptive module name that doesn't have to be the same as your mod ID, however we strongly recommend including your mod ID as part of your module name to aid troubleshooting. The `Automatic-Module-Name` manifest attribute is now also honoured, allowing you to specify a module name for your mod without needing to create a `module-info.java` file. This is particularly useful for mods that don't care about JPMS features but want to have a more descriptive module name and easier integration with other mods that do use JPMS.   How do I use it? The first step is to create a `module-info.java` file in your mod's source directory. This file should be in the same package as your main mod class, and should look something like this: open module com.example.examplemod { requires net.minecraftforge.eventbus; requires net.minecraftforge.fmlcore; requires net.minecraftforge.forge; requires net.minecraftforge.javafmlmod; requires net.minecraftforge.mergetool.api; requires org.slf4j; requires logging; } For now, we're leaving the whole module open to reflection, which is a good starting point. When we know we want to close something off, we can remove the open modifier from the module and open or export individual packages instead. Remember that you need to be open to Forge (module name net.minecraftforge.forge), otherwise it can't call your mod's constructor. Next is fixing modules in Gradle. While Forge and Java support modules properly, Gradle does not put automatic modules on the module path by default, meaning that the logging module (from com.mojang:logging) is not found. To fix this, add the Gradle plugin and add a compile-time module definition for that Mojang library: plugins { // (...) id 'org.gradlex.extra-java-module-info' version "1.9" } // (...) extraJavaModuleInfo { failOnMissingModuleInfo = false automaticModule("com.mojang:logging", "logging") } The automatic module override specified in your build.gradle should match the runtime one to avoid errors. You can do the same for any library or mod dependency that is missing either a module-info or explicit Automatic-Module-Name, however be aware that you may need to update your mod once said library adds one. That's all you need to get started with module support in your mods. You can learn more about modules and how to use them at dev.java.
    • Faire la mise à jour grâce à ce lien m'a aider personnellement, merci à @Paint_Ninja. https://www.amd.com/en/support 
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.