Jump to content

badner

Members
  • Posts

    25
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by badner

  1. Hi,

     

    I am trying to use the Checkbox. The MC implementation of the checkbox doesnt have a feature to save the current state if the checkbox is clicked. Therefore I added the save feature by extending the Checkbox class. Here you can see the source code:

     

    GuiCheckBox:

    Spoiler
    
    public class GuiCheckBox extends CheckboxWidget {
    
    	private final CheckBoxOption option;
    	private final IConfig config;
    
    	public GuiCheckBox(int x, int y, int width, int height, String message, CheckBoxOption option, IConfig config) {
    		super(x, y, width, height, message, option.isChecked());
    		this.option = option;
    		this.config = config;
    	}
    
    	@Override
    	public void onPress() {
    		super.onPress();
    		option.setChecked(super.isChecked());
    		config.save();
    	}
    }

     

    The CheckBoxOption is a field inside the config class to provide easy access to a setting.

     

    CheckBoxOption:

    Spoiler
    
    public class CheckBoxOption {
    
    	@Getter
    	@Setter
    	private boolean checked = true;
    
    	public CheckBoxOption() {
    	}
    
    	public CheckBoxOption(boolean checked) {
    		this.checked = checked;
    	}
    }

     

     

    The Config is a simple class to store settings.

    IConfig:

    Spoiler
    
    public interface IConfig {
    
    	public String getFileName();
    
    	public void save();
    }

     

     

    And the initialization of a GuiCheckbox:

    Spoiler
    
    private final Config cfg;
    
    ...
    
    GuiCheckBox showChunk = new GuiCheckBox(leftColumn, posY, 50, 20, I18n.translate("settings.chunk"), cfg.getShowChunk(), cfg);
    addButton(showChunk);

     

     

    There is no compile error, but if I open the Screen with the GuiCheckbox, the game is crashing and I get an error message which I do not understand:

     

    Spoiler
    
    [21:55:31] [main/FATAL]: Unreported exception thrown!
    java.lang.VerifyError: Bad type on operand stack
    Exception Details:
      Location:
        de/d4n1el89/chunkinfo/GuiConfig.init()V @59: invokevirtual
      Reason:
        Type 'de/d4n1el89/modutils/gui/GuiCheckBox' (current frame, stack[1]) is not assignable to 'net/minecraft/client/gui/widget/AbstractButtonWidget'
      Current Frame:
        bci: @59
        flags: { }
        locals: { 'de/d4n1el89/chunkinfo/GuiConfig', integer, integer, integer, 'de/d4n1el89/modutils/gui/GuiCheckBox' }
        stack: { 'de/d4n1el89/chunkinfo/GuiConfig', 'de/d4n1el89/modutils/gui/GuiCheckBox' }
      Bytecode:
        0x0000000: .......

     

     

    To fix the error I found a trivial solution, but its blowing up my code...

    Spoiler
    
    CheckboxWidget showChunk = new CheckboxWidget(leftColumn, posY, 50, 20, I18n.translate("settings.chunk"),
    				cfg.getShowChunk().isChecked()) {
    	@Override
    	public void onPress() {
    		super.onPress();
    		cfg.getShowChunk().setChecked(super.isChecked());
    		cfg.save();
    	}
    };
    addButton(showChunk);

     

    Hence I want a better solution or fix the error above. Any ideas?

     

     

  2. It seems that rendering the HUD has changed. With a hook inside the InGameHud, we can render a text on the hud:

     

    package de.d4n1el89.chunkinfo.mixins;
    
    import org.spongepowered.asm.mixin.Mixin;
    import org.spongepowered.asm.mixin.injection.At;
    import org.spongepowered.asm.mixin.injection.Inject;
    import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
    
    import net.minecraft.client.MinecraftClient;
    import net.minecraft.client.gui.hud.InGameHud;
    
    @Mixin({ InGameHud.class })
    public class MixinInGameHud {
    
    	@Inject(method = { "renderStatusEffectOverlay" }, at = { @At("RETURN") })
    	private void onRenderStatusEffectOverlay(CallbackInfo ci) {
    		MinecraftClient.getInstance().textRenderer.draw("THIS IS SPARTA", 50, 50, 16777215);
    	}
    }

     

  3. Hey,

     

    I am migrating from 1.12.2 to 1.15.1. In 1.12.2 you can use FontRenderer.drawString(String text, int x, int y, int color) and you get a simple Text on HUD. I tried similar stuff in 1.15.1 with TextRenderer.draw(String text, float x, float y, int color), but that doesnt work. I also took a look inside "InGameHud", but this didnt help me neither. There is some stuff going on with e.g. client.getProfiler().push("bossHealth"); and client.getProfiler().pop(); which I dont understand.

     

    How can I simply draw a text on HUD?

     

    Thanks in advance.

  4. Hi,

    I am trying to create a Mod which can show "Ghost-Items" in the world and cover them with a colored glowing effect. NOTICE: clientside only!

     

    Here you can see how the "Ghost-Items" are generated: 

     

    ghostEntity = new EntityItem(mc.player.getEntityWorld(), 0, 70, 0, new ItemStack(Blocks.COBBLESTONE));

     

    To render the Ghost-Items, I created a custom renderer which can render the Ghost-Item at a specific location in the world: (based on RenderEntityItem.class)

     

    public void doRender(EntityItem entity, double xPos, double yPos, double zPos, float entityYaw, float partialTicks) {
    		
    		ItemStack itemstack = entity.getItem();
    		
    		// Noetig damit Item keine Defaulttextur bekommt
    		bindEntityTexture(entity);
    
    		GlStateManager.enableRescaleNormal();
    		GlStateManager.alphaFunc(516, 0.1F);
    		GlStateManager.enableBlend();
    		RenderHelper.enableStandardItemLighting();
    		GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
    		GlStateManager.pushMatrix();
    		
    		IBakedModel ibakedmodel = itemRenderer.getItemModelWithOverrides(itemstack, entity.world, (EntityLivingBase) null);
    		
    		boolean forceGlowing = true;
    		
    		if (forceGlowing) { // FORCE ENTITY GLOWING
    			GlStateManager.enableColorMaterial();
    			GlStateManager.enableOutlineMode(this.getTeamColor(entity));
    		}
    		
    		Minecraft mc = Minecraft.getMinecraft();
    		float playerX = (float) (mc.player.lastTickPosX + (mc.player.posX - mc.player.lastTickPosX) * partialTicks);
    		float playerY = (float) (mc.player.lastTickPosY + (mc.player.posY - mc.player.lastTickPosY) * partialTicks);
    		float playerZ = (float) (mc.player.lastTickPosZ + (mc.player.posZ - mc.player.lastTickPosZ) * partialTicks);
    
    		float dx = (float) (xPos - playerX);
    		float dy = (float) (yPos - playerY);
    		float dz = (float) (zPos - playerZ);
    		GlStateManager.translate(dx, dy, dz);
    
    		// Groesse aendern! wenn auskommentiert, wird voller Block gerendert
    		ibakedmodel.getItemCameraTransforms().applyTransform(ItemCameraTransforms.TransformType.GROUND);
    		// Item Rendern
    		itemRenderer.renderItem(itemstack, ibakedmodel);
    		
    		if (forceGlowing) { // FORCE ENTITY GLOWING
    			GlStateManager.disableOutlineMode();
    			GlStateManager.disableColorMaterial();
    		}
    		
    		GlStateManager.popMatrix();
    		GlStateManager.disableRescaleNormal();
    		GlStateManager.disableBlend();
        }

     

    To add the colored glowing effect, I created a custom team and added the Ghost-Item

     

    			Scoreboard scoreboard = mc.player.getWorldScoreboard();
    			if(scoreboard != null){
    				if(scoreboard.getTeam("Test1") == null){
    					System.out.println("create Team");
    					scoreboard.createTeam("Test1");
    					scoreboard.getTeam("Test1").setColor(TextFormatting.GOLD);
    					ghostEntity = new EntityItem(mc.player.getEntityWorld(), 0, 70, 0, new ItemStack(Blocks.COBBLESTONE));
    					ghostEntity.setGlowing(true);
    					scoreboard.addPlayerToTeam(ghostEntity.getCachedUniqueIdString(), "Test1");
    				}
    			}

     

    The problem is, that if the glowing effect is enabled, the whole Ghost-Item is rendered white.

     

    Picture 1: Ghost-Item at a specific location in the world without glowing effect: CLICK

     

    Picture 2: Ghost-Item at a specific location in the world with glowing effect: CLICK

     

    How can I fix this? The teamcolor is e.g GOLD.

     

    Thank you for your help.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    • Like 1
  5. Hi,

     

    I want to draw a nametag on a given position in the World:

     

     

    	
    
    /**
    * x,y,z the Position(BlockPos)
    * string, the String to render
    */
    
    public static void renderName(double x, double y, double z, String string, float partialTicks){
    
    	RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();
    	Entity player = Minecraft.getMinecraft().thePlayer;
    	FontRenderer fontRenderer = renderManager.getFontRenderer();
    	//Tessellator tessellator = Tessellator.getInstance();
    
    	//float scale = (float) (0.016666668F * getDistanceScalled(d3));
    	int string_length = fontRenderer.getStringWidth(string) / 2;
    
    	double playerX = player.lastTickPosX + (player.posX - player.lastTickPosX);
    	double playerY = player.lastTickPosY + (player.posY - player.lastTickPosY);
    	double playerZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ);
    
    	double diffX = x - playerX * (double) partialTicks;
    	double diffY = y - playerY * (double) partialTicks;
    	double diffZ = z - playerZ * (double) partialTicks;
    
    	GlStateManager.pushMatrix();
    
    	GlStateManager.translate(diffX, diffY + 2D, diffZ);
    	GlStateManager.rotate(-player.rotationYaw, 0.0F, 1.0F, 0.0F);
    	GlStateManager.rotate(player.rotationPitch, 1.0F, 0.0F, 0.0F);
    	//GlStateManager.scale(-scale, -scale, scale);
    
    	GlStateManager.depthMask(false);
    	GlStateManager.disableTexture2D();
    	GlStateManager.disableLighting();
    	GlStateManager.disableBlend();
    
    	//Minecraft.getMinecraft().ingameGUI.drawRect(-string_length - 2, -2,fontRenderer.getStringWidth(string) + 1 - string_length, fontRenderer.FONT_HEIGHT, 0x50000000);
    	//Minecraft.getMinecraft().ingameGUI.drawRect(-string_length - 1, -1,fontRenderer.getStringWidth(string) - string_length, fontRenderer.FONT_HEIGHT - 1, 0x50FF0000);
    	fontRenderer.drawString(string, -string_length, 0, -1);
    
    	GlStateManager.enableTexture2D();
    	GlStateManager.enableLighting();
    	GlStateManager.disableBlend();
    	GlStateManager.depthMask(true);
    	GlStateManager.popMatrix();
    }

     

     

    The problem is, that the string is buzzing around and other self definded things to render are gray now... Whats the mistake?

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  6. Hi,

     

    gradlew setupDecompWorkspace doesnt work on my Laptop (but works fine on my Desktop -.- )

     

    OS: WIN8 64 bit,

    JAVA: jdk 8_77 (64 bit) and jdk 8_92 (32 bit)

    i7-4710

    8 GB RAM

     

    gradlew setupDecompWorkspace -info: http://pastebin.com/vE2u5kH7

    gradlew setupDecompWorkspace -stacktrace: http://pastebin.com/gzZB6X2G

     

    Solution:

     

    Delete the jar files that are listed as corrupt in the --info log and try again.

     

  7. I am using nativ Minecraft code to submit the inventory changes to the server:

     

    package net.minecraft.client.multiplayer;

    class PlayerControllerMP

        /**
         * Handles slot clicks sends a packet to the server.
         */
        public ItemStack windowClick(int windowId, int slotId, int mouseButtonClicked, int mode, EntityPlayer playerIn)
        {
        	short var6 = playerIn.openContainer.getNextTransactionID(playerIn.inventory);
            ItemStack var7 = playerIn.openContainer.slotClick(slotId, mouseButtonClicked, mode, playerIn);
            this.netClientHandler.addToSendQueue(new C0EPacketClickWindow(windowId, slotId, mouseButtonClicked, mode, var7, var6));
            return var7;
        }

     

    This should handle the Itemstackmovement on clientside?

     

    ItemStack var7 = playerIn.openContainer.slotClick(slotId, mouseButtonClicked, mode, playerIn);

  8. Hi guys,

     

    I got a problem with my slot auto refill method. The method is called every gametick and should detect when an itemstack is empty and then refill it. There is an other problem too. If an itemstack was refilled, the itemstack is(/become invisible, sometimes you can see it for < 1 second, I guess this happens when the tagged code below is called twice) invisible (-> clientside only!), on the next rightclick the itemstack appears.

     

     

    		private void autorefill(Minecraft mc){
    
    	EntityPlayer player = mc.thePlayer;
    
    	if(mc.playerController.isInCreativeMode()){
    		return;
    	}
    	InventoryPlayer inventory = player.inventory;
    
    	ItemStack currentItemstack = inventory.getCurrentItem();
    	int currentSlot = inventory.currentItem;
    
    	if(currentSlot == lastSlot){
    
    		if(lastItem != null && currentItemstack == null){	
    
    			System.out.println("Slot empty -> refill");
    			// The part below here is called twice, but it shouldnt! <- tagged code
    			if(lastItem.isDamageable()){
    				return;
    			}
    
    			int refillItemstack = findItemStack(inventory.mainInventory, lastItem, currentSlot); // This method returns the slotnumber which is containing a compatible itemstack, or if there is no matching itemstack -1
    
    			if(refillItemstack != -1){
    
    				mc.playerController.windowClick(0, refillItemstack, 0, 0, player);
    				mc.playerController.windowClick(0, currentSlot + 36, 0, 0, player);				
    
    			}else{
    				System.out.println("no itemstack found");
    				lastItem = null;
    			}
    		}
    
    	}else{
    		System.out.println("different slot detected");
    		lastSlot = currentSlot;
    		if(currentItemstack != null){
    			lastItem = currentItemstack.getItem();
    		}else{
    			lastItem = null;
    		}
    	}
    }

     

    Thank you,

     

    Daniel

     

     

     

     

     

  9. Hi,

     

    I have a problem with the mouse position on different gui.

     

    Picture 1:   http://www.pic-upload.de/view-28275565/pic1.png.html    ---> GuiMain

     

    mouseclick to button "Details" open a new gui/window:

    mc.displayGuiScreen(null); //<--- close GuiMain 
    mc.displayGuiScreen(new GuiDetails(someStuff));  //<--- open gui/window GuiDetails

     

    Picture 2:   http://www.pic-upload.de/view-28275596/pic2.png.html  ---> GuiDetails

     

    I expect the mouse position on the same coordinates (x, y -> red triangle) like on the GuiMain, but the mouse position is at the cross at the center of the screen (red circle).

     

    How can I pass the x, y coordinates of the mouse position from GuiMain to GuiDetails?

     

     

     

     

     

  10. Thats a optical illusion (is that the correct word?^^).

     

    Is there a better Way to draw a Cube without surfaces? like this -> http://www.pic-upload.de/view-28254561/cube.png.html

     

    	ArrayList<Vec3> lineList = new ArrayList<Vec3>(); // Storage of vertices for all lines
    
    Vec3[] cube = new Vec3[8];	// Example
    
    public void setCubeList(){
    
    	// vertices of a cube; 
    	cube[0] = new Vec3(0,10,0); 
    	cube[1] = new Vec3(10,10,0);
    	cube[2] = new Vec3(0,10,10);
    	cube[3] = new Vec3(10,10,10);
    	cube[4] = new Vec3(0,20,0);
    	cube[5] = new Vec3(10,20,0);
    	cube[6] = new Vec3(10,20,10);
    	cube[7] = new Vec3(0,20,10);
    
    	lineList.add(cube[0]); // edge 1-2
    	lineList.add(cube[1]);
    
    	lineList.add(cube[1]); // edge 2-4
    	lineList.add(cube[3]);
    
    	lineList.add(cube[0]); // edge 1-3
    	lineList.add(cube[2]);
    
    	lineList.add(cube[2]); // edge 3-4
    	lineList.add(cube[3]);
    
    	lineList.add(cube[4]); // edge 5-8
    	lineList.add(cube[7]);
    
    	lineList.add(cube[4]); // edge 5-6
    	lineList.add(cube[5]);
    
    	lineList.add(cube[6]); // edge 7-8
    	lineList.add(cube[7]);
    
    	lineList.add(cube[5]); // edge 6-7
    	lineList.add(cube[6]);
    
    	lineList.add(cube[0]); // edge 1-5
    	lineList.add(cube[4]);
    
    	lineList.add(cube[1]); // edge 2-6
    	lineList.add(cube[5]);
    
    	lineList.add(cube[3]); // edge 4-7
    	lineList.add(cube[6]);
    
    	lineList.add(cube[2]); // edge 3-8
    	lineList.add(cube[7]);
    }
    
    
    @SubscribeEvent
    public void onDrawBlockHighlightEvent(DrawBlockHighlightEvent event){
    
    	GL11.glPushMatrix();
    	GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    
            double d0 = event.player.prevPosX + (event.player.posX - event.player.prevPosX) * (double)event.partialTicks;
            double d1 = event.player.prevPosY + (event.player.posY - event.player.prevPosY) * (double)event.partialTicks;
            double d2 = event.player.prevPosZ + (event.player.posZ - event.player.prevPosZ) * (double)event.partialTicks;
            
            Vec3 pos = new Vec3(d0, d1, d2);
    
    	GL11.glTranslated(-pos.xCoord, -pos.yCoord, -pos.zCoord);
    	GL11.glDisable(GL11.GL_LIGHTING);
    	GL11.glDisable(GL11.GL_TEXTURE_2D);
    	GL11.glDisable(GL11.GL_DEPTH_TEST);		
    
    	for(int a = 0; a<lineList.size(); a+=2){
    		drawLineWithGL(lineList.get(a), lineList.get(a+1));
    	}
    
    	GL11.glPopAttrib();
    	GL11.glPopMatrix();
    
    }

  11. Finally I got it  ::)

    	@SubscribeEvent
    public void onDrawBlockHighlightEvent(DrawBlockHighlightEvent event){
    
    	GL11.glPushMatrix();
    	GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    
            double d0 = event.player.prevPosX + (event.player.posX - event.player.prevPosX) * (double)event.partialTicks;
            double d1 = event.player.prevPosY + (event.player.posY - event.player.prevPosY) * (double)event.partialTicks;
            double d2 = event.player.prevPosZ + (event.player.posZ - event.player.prevPosZ) * (double)event.partialTicks;
            
            Vec3 pos = new Vec3(d0, d1, d2);
    
    	//Vec3 pos = event.player.getPositionEyes(event.partialTicks); Doesnt work because y-part +(double)this.getEyeHeight()
    
    	GL11.glTranslated(-pos.xCoord, -pos.yCoord, -pos.zCoord);
    	GL11.glDisable(GL11.GL_LIGHTING);
    	GL11.glDisable(GL11.GL_TEXTURE_2D);
    	GL11.glDisable(GL11.GL_DEPTH_TEST);		// draw the line on top of the geometry
    
    	Vec3 posA = new Vec3 (0,10,0);
    	Vec3 posB = new Vec3 (10,10,0);
    
    	drawLineWithGL(posA, posB); 
    
    	GL11.glPopAttrib();
    	GL11.glPopMatrix();
    }
    
    private void drawLineWithGL(Vec3 blockA, Vec3 blockB) {
    
    
    	GL11.glColor4f(1F, 0F, 1F, 0F);  // change color an set alpha
    
    	GL11.glBegin(GL11.GL_LINE_STRIP);
    
    	GL11.glVertex3d(blockA.xCoord, blockA.yCoord, blockA.zCoord);
    	GL11.glVertex3d(blockB.xCoord, blockB.yCoord, blockB.zCoord);
    
    	GL11.glEnd();
    }

     

    Vec3 pos = event.player.getPosition(event.partialTicks);

    First i used getPositionEyes Instead of getPosition  but this Method didnt return the correct y-value. You can see this if you look into the declaration.

     

    I also switched from GL11.glColor3f to GL11.glColor4f, but alpha 1F or alpha 0F change nothing. The "color" of the line is still depending on the block behind. How can I fix this?

     

    Daniel

  12. This isn't going to give you everything, but it will give you enough to get started.  You're still going to need to get the coorridinates you want to draw to/from yourself as well as modify this code to draw bounding boxes, rather than center to center.

     

     

    Vec3 pos = event.player.getPosition(event.partialTicks);

     

    Which event (from net.minecraftforge.client.event package e.g.) should I use?

     

    According to the previous posts, I can use this:

    Vec3 pos1= new Vec3 (0,5,0);  // [b]Vector from 0,0,0 to 0,5,0 -> Blockcoords[/b]
    Vec3 pos2= new Vec3 (5,5,0);  // [b]Vector from 0,0,0 to 5,5,0 -> Blockcoords[/b]
    
    //you will need to supply your own position vectors
    drawLineWithGL(pos1, pos2);

     

    This is never used:

     

    int d = Math.round((float)blockA.distanceTo(blockB)+0.2f);

     

     

  13. Hi,

     

    i am looking for a function which allows me to draw a simple line. I found an article: http://www.minecraftforge.net/wiki/Tessellator but i think its outdated? (in 1.8 you have to use the WorldRenderer?). And i dont get the functionality of:

     

    GL11.glTranslated(x, y, z);

    What kind of coordinates do i have to assign?

     

    t.addVertex(0, 0, 0); (t should be an Object of WorldRenderer)

    t.addVertex(0, 1, 0);

    Same question: For a line i need a starting point and an endpoint. What kind of coordinates do i have to assign?

     

    The function should draw a line like this: http://www.pic-upload.de/view-28239930/line.png.html

     

    Thanks for your help,

     

    Daniel

     

  14. Ups... -->  event.entity.getClass()  :)

     

    [23:44:13] [server thread/INFO] [sTDOUT]: [MyEventHandler:fishJoinEvent:22]: its a fishing hook

    [23:44:13] [Client thread/INFO] [sTDOUT]: [MyEventHandler:fishJoinEvent:22]: its a fishing hook

     

    My Code must only work on clientside, how can i reach this?

     

    What are the next steps to:

    - cancel the event to prevent spawning the original

    - apply every value from the vanilla entity to yours (motion, position, etc.)

    - spawn your custom entity

     

  15. In the main class of my mod:

     

    (head of the class)

    MyEventHandler handler = new MyEventHandler();

     

    and then in:

     

    @EventHandler
    public void preinit(FMLPreInitializationEvent preevent){
    
    MinecraftForge.EVENT_BUS.register(handler);
    //some code here
    }

     

    The Eventhandler is working, because my other SubscribeEvents like RenderGameOverlayEvent or ClientChatReceivedEvent are working.

  16. Why not use the EntityJoinWorldEvent? Just cancel it and spawn your own fishing hook.

    - Make sure to check if the entity is the vanilla fishing hook by checking if the class of the entity (entity#getClass()) is equal to the EntityFishingHook class (EntityFishingHook#class)

    - cancel the event to prevent spawning the original

    - apply every value from the vanilla entity to yours (motion, position, etc.)

    - spawn your custom entity

     

    According to your post, I added this method to the Eventhandler class:

     

    @SubscribeEvent
    public void fishJoinEvent(EntityJoinWorldEvent event){
    if(event.getClass().equals(EntityFishHook.class)){
    	System.out.println("here it is!");
    }
    }
    

     

    Unfortunately nothing happend...

     

    What are the next steps? How can I spawn my own entity?

     

    I also tried to use this:

     

    RenderingRegistry.registerEntityRenderingHandler(EntityFishHook.class, new RenderFish(Need a Rendermanager));

     

    In this case I should able to create a custom RenderFish. Can I get the information which I need in RenderFish?

     

     

  17. I want this: So you are trying to replace the vanilla entity?  And thats the answer of your question. -Yes

    I tried this: Or make your own that is similar?

     

    But whats the difference between replacing the vanilla entity and make an own that is similar?

     

     

  18. I am trying to "extend" the vanilla entity, which means that all methods and so on are the same, and do the same. But some methods are able to do additional things e.g. showing information on gui, if a fish "is coming".

     

    I dont want add/remove fish, junk and treasure.

  19. Hi,

     

    how can I override, or extend EntityFishHook.class and use the new Class instead of the old? If im extending the EntityFishHook.class how can I register it? Should it looks like this:

     

    EntityRegistry.registerModEntity(NewEntityFishHook.class, ... I dont know ...);

     

    Thank you :)

×
×
  • Create New...

Important Information

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