Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

heero

Members
  • Joined

  • Last visited

Everything posted by heero

  1. Well... using different location solve both problem at once. I make my blockstate JSON link to fictive model location (by adding a custom prefix) My custom loader intercept that prefix, reconstruct the real location the call the getModel from the registry. Wrap the result in my ISmartModel. Now I just have to make my item model use the real location as parent.
  2. Yeah, I will try that. No idea for the second problem ?
  3. Ok, So actually I'm using a custom loader to wrap the vanilla IModel. It's a title ugly, but it seem to work. public class OverSlabModelLoader implements ICustomModelLoader { public static boolean disableCustomLoader = false; @Override public boolean accepts(ResourceLocation modelLocation) { return !disableCustomLoader && Reference.MODID.equals(modelLocation.getResourceDomain()) && modelLocation.getResourcePath().contains("plant"); } @Override public IModel loadModel(ResourceLocation modelLocation) throws IOException { disableCustomLoader = true; final IModel model; try { model = ModelLoaderRegistry.getModel(new ResourceLocation(modelLocation.getResourceDomain(), modelLocation.getResourcePath().substring(modelLocation.getResourcePath().indexOf('/') + 1))); } finally { disableCustomLoader = false; } return new ModelOverSlab(modelLocation, model); } @Override public void onResourceManagerReload(IResourceManager resourceManager) {} } Do you know a better solution ? My last problem is with the ItemBlock, or any model that use my previous block as parent. The getTexture method fail because the parent of a VanillaWrapper can't be a custom model. But I'm just wrapping a vanillaModel, so perhapt there is a way to get that block. I tryed various solutions, with no success. I didn't find any way to set the parent of block BlockModel wrapped in the vanillaWrapper. Everything is private. So, I'm curious, what I want to do seem pretty common (Load a vanilla model, wrap in an ISmartModel using generic unlisted properties). Am I missing something ?
  4. Hi, I want to be able to load vanilla a model, then update some properties (translation) before baking it. I saw in the code that VanillaLoader what the loader by default, and VanillaModelWrapper was the default created model. But both class are private. Is there a method to that ?
  5. So actualy I looking to wrap the VanillaLoader (or every loader ?) in my CustomLoader. Is that a good solution ? Is there an easy way to do that ?
  6. Hi, Sorry, not realy good with english, hard to explain myself. So I have some sort of slab block in my mod ( like the stone slab and wood slab in vanilla). Then I have some "special blocks", and when they are placed over a slab block, I want to render them like they where touching the slab ( so posY - 0.5 to be simple). I have many of theses "special blocks" with all kind of differents properties, and I don't want to duplicate each model and decrement the Y position. I want to dynamically shift. So I need to : 1) Check the block below and assign the right value to the unlistedproperty (that part is good) 2) Intercept the model and modifying the Y property of each quad Is that clear ?
  7. Hi, I need some help to start with the Model system in 1.8.9 : I want to create a block that can be rendered at different Y positions. the position depend on the block below. So I created an UnlistedProperty ("bottom_position") Now I want to take the model defined in JSON and update the Y position before rendering. I can't figure where to start. There is a lot of interfaces/class (ICustomModelLoader, ISmartBlockModel, ...) but the documentation is poor (or well hiden). Can you give me a direction to begin with that stuff ? Thx
  8. That's what I want ? All my Dirt must be Opaque (or not). It's just an helper so I don't have to create a new Class for un-opaque Block. I did that with many Block property in my BlockGeneric. So the solution is pretty obvious (ie. create that Class), but I juste want to understand Why
  9. @Mod(modid = MyMod.MODID, version = MyMod.VERSION) public class MyMod { public static final String MODID = "mymod"; public static final String VERSION = "1.0"; @EventHandler public void preInit(FMLPreInitializationEvent event) { GameRegistry.registerBlock(new BlockGeneric(Material.ground).setUnlocalizedName("dirt"), "dirt"); } public class BlockGeneric extends Block { private boolean opaque = true; public BlockGeneric(Material material) { super(material); } @Override public boolean isOpaqueCube() { return opaque; } } } It's probably some kind of java optimisation, but I don't know how
  10. Hi, The Minecraft Block isOpaqueCube function return the constant True. I created a Block subclass with an opaque cube parameter to be able to easily change that value. The default value is still True. I created a new Dirt Block with my new class. When I fill the world (50 first layers) with is, and I try to put Water, there is a performances Drop (60 -> 30). If my new Dirt Block extend the Minecraft Block, there is no drop. I'm not able to explain it, any idea ?
  11. Thx, I'm upgrading my mod from 1.7.10 to 1.8.9, so yeah it's probably that. That solved my problem!
  12. Hi, What I want : Teleport the player when I hit the H key. What I get : That work, but I get some strange warnings My warnings : 00:34:37] [Client thread/INFO]: [CHAT] Player447 has just earned the achievement [Taking Inventory] [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:43] [Netty Server IO #1/WARN]: * There is an attempt to load a chunk (4,-1) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:395) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.getPlayerInstance(PlayerManager.java:106) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.addPlayer(PlayerManager.java:150) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.ServerConfigurationManager.preparePlayer(ServerConfigurationManager.java:269)... [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:43] [server thread/WARN]: **************************************** [00:34:43] [server thread/WARN]: * There is an attempt to load a chunk (-5,6) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:43] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:43] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:43] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:99) [00:34:43] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:200) [00:34:43] [server thread/WARN]: * at net.minecraft.world.World.getChunkFromChunkCoords(World.java:336) [00:34:43] [server thread/WARN]: * at net.minecraft.world.World.getChunkFromBlockCoords(World.java:328)... [00:34:43] [server thread/WARN]: **************************************** [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:43] [Netty Server IO #1/WARN]: * There is an attempt to load a chunk (8,0) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:395) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.getPlayerInstance(PlayerManager.java:106) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.addPlayer(PlayerManager.java:150) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.ServerConfigurationManager.preparePlayer(ServerConfigurationManager.java:269)... [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:43] [Netty Server IO #1/WARN]: * There is an attempt to load a chunk (-2,- in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:395) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.getPlayerInstance(PlayerManager.java:106) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.PlayerManager.addPlayer(PlayerManager.java:150) [00:34:43] [Netty Server IO #1/WARN]: * at net.minecraft.server.management.ServerConfigurationManager.preparePlayer(ServerConfigurationManager.java:269)... [00:34:43] [Netty Server IO #1/WARN]: **************************************** [00:34:44] [server thread/WARN]: **************************************** [00:34:44] [server thread/WARN]: * There is an attempt to load a chunk (-10,4) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:99) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:200) [00:34:44] [server thread/WARN]: * at net.minecraft.world.World.getChunkFromChunkCoords(World.java:336) [00:34:44] [server thread/WARN]: * at net.minecraft.world.WorldServer.updateBlocks(WorldServer.java:376)... [00:34:44] [server thread/WARN]: **************************************** [00:34:44] [server thread/WARN]: **************************************** [00:34:44] [server thread/WARN]: * There is an attempt to load a chunk (-1,-12) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:99) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:200) [00:34:44] [server thread/WARN]: * at net.minecraft.world.World.getChunkFromChunkCoords(World.java:336) [00:34:44] [server thread/WARN]: * at net.minecraft.world.WorldServer.updateBlocks(WorldServer.java:376)... [00:34:44] [server thread/WARN]: **************************************** [00:34:44] [server thread/WARN]: **************************************** [00:34:44] [server thread/WARN]: * There is an attempt to load a chunk (-8,12) in di >mension 3 that is already being loaded. This will cause weird chunk breakages. [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:152) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:129) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:99) [00:34:44] [server thread/WARN]: * at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:200) [00:34:44] [server thread/WARN]: * at net.minecraft.world.World.getChunkFromChunkCoords(World.java:336) [00:34:44] [server thread/WARN]: * at net.minecraft.world.WorldServer.updateBlocks(WorldServer.java:376)... [00:34:44] [server thread/WARN]: **************************************** My code : // ExampleMod @Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) public class ExampleMod { public static final String MODID = "examplemod"; public static final String VERSION = "1.0"; public static final SimpleNetworkWrapper packetPipeline = NetworkRegistry.INSTANCE.newSimpleChannel("test"); @EventHandler public void preInit(FMLPreInitializationEvent event) { GameRegistry.registerItem(new ItemTest().setCreativeTab(CreativeTabs.tabMisc).setUnlocalizedName("item_test"), "item_test"); GameRegistry.registerWorldGenerator(new WorldGeneratorTest(), 0); DimensionManager.registerProviderType(3, WorldProviderSurface.class, false); DimensionManager.registerDimension(3, 3); packetPipeline.registerMessage(HandlerTeleportation.class, PacketTeleportation.class, 0, Side.SERVER); } private class WorldGeneratorTest implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { } } public class ItemTest extends Item { @Override public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn) { if (!worldIn.isRemote) { return itemStackIn; } packetPipeline.sendToServer(new PacketTeleportation()); return itemStackIn; } } } // HandlerTeleportation public class HandlerTeleportation implements IMessageHandler<PacketTeleportation, IMessage> { @Override public IMessage onMessage(PacketTeleportation message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().playerEntity; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 3, new TeleporterTest(MinecraftServer.getServer().worldServerForDimension(3))); return null; } } // PacketTeleportation public class PacketTeleportation implements IMessage { @Override public void fromBytes(ByteBuf buffer) { } @Override public void toBytes(ByteBuf buffer) { } } // TeleporterTest public class TeleporterTest extends Teleporter { public TeleporterTest(WorldServer par1WorldServer) { super(par1WorldServer); } @Override public void placeInPortal(Entity entity, float rotationYaw) { entity.setPositionAndUpdate(0, 100, 0); } @Override public void removeStalePortalLocations(long par1) { } } The code doesn't show the key binding part, because it's not necesary to reproduce de bug. If I try to teleport from the Item function itself, there is no warning.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.