From 5ab42064f7e7793610223e3ddd194fc010077e7c Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sun, 16 Aug 2015 10:34:37 +0100 Subject: Stuff changed - Hiding stuff from NEI - Curses GUI now starts from page 1 instead of 0 - Nothing generates in a flat world (not even ore) --- build.gradle | 2 +- changelog.txt | 8 ++- src/.classpath | 1 + .../jewelrycraft/client/gui/GuiCurseInfo.java | 61 +++++++++++----------- .../darkknight/jewelrycraft/thirdparty/NEI.java | 29 ++++++++++ .../jewelrycraft/thirdparty/ThirdPartyManager.java | 1 + .../darkknight/jewelrycraft/util/Variables.java | 2 +- .../jewelrycraft/worldGen/Generation.java | 34 ++++++------ 8 files changed, 87 insertions(+), 51 deletions(-) create mode 100644 src/main/java/darkknight/jewelrycraft/thirdparty/NEI.java diff --git a/build.gradle b/build.gradle index 60db159..b24ed16 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ apply plugin: 'curseforge' project.ext { massive = "1" major = "1" - minor = "1" + minor = "2" mcVersion = "1.7.10" ee3Version = "0.3.505" alpacaVersion = "1.2" diff --git a/changelog.txt b/changelog.txt index 1770895..aae9b55 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,2 +1,8 @@ Fixed: -- A bug where servers would crash \ No newline at end of file +- A bug where the ritual would crash on a server + +Change: +- Reduced spawnrate of structures +- Curses starts from page 1, instead of 0 +- Structures will no longer spawn in a flat world +- Secrety secret \ No newline at end of file diff --git a/src/.classpath b/src/.classpath index dd7e4a1..8bb2410 100644 --- a/src/.classpath +++ b/src/.classpath @@ -5,5 +5,6 @@ + diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java index 1d29d23..6708ec5 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java @@ -2,10 +2,8 @@ package darkknight.jewelrycraft.client.gui; import java.util.ArrayList; import java.util.List; - import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; - import darkknight.jewelrycraft.JewelrycraftMod; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.client.Page; @@ -32,11 +30,11 @@ import net.minecraft.world.World; import scala.swing.event.Key; public class GuiCurseInfo extends GuiContainer { - World world; - EntityPlayer player; - ResourceLocation texture; - int page = 0, maxPages = 1; - String selectedCurse = ""; + World world; + EntityPlayer player; + ResourceLocation texture; + int page = 0, maxPages = 1; + String selectedCurse = ""; public GuiCurseInfo(Container container, World world, EntityPlayer player, ResourceLocation texture) { super(container); @@ -67,29 +65,28 @@ public class GuiCurseInfo extends GuiContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft + 5, guiTop + ySize - 14, 0, ySize, 13, 11); drawTexturedModalRect(guiLeft + xSize - 38, guiTop + ySize - 14, 13, ySize, 13, 11); - this.drawString(fontRendererObj, page + "/" + maxPages, guiLeft + 90, guiTop + 153, 0xffffff); + this.drawString(fontRendererObj, (page + 1) + "/" + (maxPages + 1), guiLeft + 90, guiTop + 153, 0xffffff); this.drawString(fontRendererObj, "Click on an active curse to see its description", guiLeft, guiTop + 170, 0xffffff); - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { drawText(this, "To enable or disable a curse simply hold the CTRL key and click on one.", guiLeft - 100, guiTop, 20, 0xff0000); drawText(this, "If you do not have any curse points you need to type the command '/jw addCursePoints [playerUsername] [no of curse points]'. If you don't do this any curse you activate won't have any effect.", guiLeft - 100, guiTop + 50, 20, 0xff0000); } } - - public static void drawText(GuiCurseInfo gui, String text, int x, int y, int characters, int color) - { - String[] s = text.split(" "); - String displayText = ""; - ArrayList textLines = new ArrayList(); - for(String element: s) - if ((displayText + element + " ").length() <= characters) displayText += element + " "; - else{ - textLines.add(displayText.trim()); - displayText = element + " "; - } - textLines.add(displayText.trim()); - for(int i = 0; i < textLines.size(); i++) - gui.drawString(gui.getFont(), textLines.get(i), x, y + i * 9, color); - } + + public static void drawText(GuiCurseInfo gui, String text, int x, int y, int characters, int color) { + String[] s = text.split(" "); + String displayText = ""; + ArrayList textLines = new ArrayList(); + for (String element : s) + if ((displayText + element + " ").length() <= characters) displayText += element + " "; + else { + textLines.add(displayText.trim()); + displayText = element + " "; + } + textLines.add(displayText.trim()); + for (int i = 0; i < textLines.size(); i++) + gui.drawString(gui.getFont(), textLines.get(i), x, y + i * 9, color); + } public FontRenderer getFont() { return fontRendererObj; @@ -155,7 +152,7 @@ public class GuiCurseInfo extends GuiContainer { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - if(!curse.canCurseBeActivated() || !ConfigHandler.CURSES_ENABLED) GL11.glColor4f(1f, 0f, 0f, 0.5f); + if (!curse.canCurseBeActivated() || !ConfigHandler.CURSES_ENABLED) GL11.glColor4f(1f, 0f, 0f, 0.5f); else GL11.glColor4f(1f, 1f, 1f, 0.5f); } mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); @@ -194,8 +191,7 @@ public class GuiCurseInfo extends GuiContainer { } @Override - public void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - } + public void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {} @Override protected void keyTyped(char charecter, int key) { @@ -228,16 +224,19 @@ public class GuiCurseInfo extends GuiContainer { Curse.availableCurses.add(curse); JewelrycraftMod.netWrapper.sendToServer(new PacketSendServerPlayerInfo("remove", curse.getName(), playerInfo)); JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - } else if (player.capabilities.isCreativeMode && isCtrlKeyDown() && playerInfo.getInteger(curse.getName()) <= 0 && curse.canCurseBeActivated() && ConfigHandler.CURSES_ENABLED) { + } + else if (player.capabilities.isCreativeMode && isCtrlKeyDown() && playerInfo.getInteger(curse.getName()) <= 0 && curse.canCurseBeActivated() && ConfigHandler.CURSES_ENABLED) { playerInfo.setInteger(curse.getName(), 1); playerInfo.setInteger("activeCurses", playerInfo.getInteger("activeCurses") + 1); Curse.availableCurses.remove(curse); JewelrycraftMod.netWrapper.sendToServer(new PacketSendServerPlayerInfo("add", curse.getName(), playerInfo)); JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - } else selectedCurse = curse.getName(); + } + else selectedCurse = curse.getName(); } ind++; - } else if (playerInfo.getInteger(curse.getName()) > 0) { + } + else if (playerInfo.getInteger(curse.getName()) > 0) { if (x > (guiLeft + 43) && y > (guiTop + 8 + (size - 8) * (ind - page * 5)) && x < (guiLeft + 43 + 112) && y < (guiTop + 40 + (size - 8) * (ind - page * 5)) && ind >= page * 5 && ind < (page + 1) * 5) selectedCurse = curse.getName(); ind++; } diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/NEI.java b/src/main/java/darkknight/jewelrycraft/thirdparty/NEI.java new file mode 100644 index 0000000..2371137 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/NEI.java @@ -0,0 +1,29 @@ +package darkknight.jewelrycraft.thirdparty; + +import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.item.ItemList; +import net.minecraft.item.ItemStack; + +public class NEI implements IThirdParty { + @Override + public void preInit() {} + + @Override + public void init() {} + + @Override + public void postInit() { + for (int i = 0; i < Curse.getCurseList().size(); i++) + codechicken.nei.api.API.hideItem(new ItemStack(ItemList.testItem, 1, i)); + codechicken.nei.api.API.hideItem(new ItemStack(ItemList.goldObj)); + codechicken.nei.api.API.hideItem(new ItemStack(BlockList.midasTouchBlock)); + codechicken.nei.api.API.hideItem(new ItemStack(ItemList.metal)); + } + + @Override + public void clientSide() {} + + @Override + public void clientInit() {} +} diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java b/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java index 21158f1..571358e 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java @@ -32,6 +32,7 @@ public class ThirdPartyManager implements IGuiHandler{ public void index(){ Map> thirdPartyClasses = new HashMap>(); thirdPartyClasses.put(ModIds.EE3, EE3.class); + thirdPartyClasses.put(ModIds.NEI, NEI.class); thirdPartyClasses.put(ModIds.ALPACA, Alpaca.class); List enabledThirdParty = new ArrayList(); diff --git a/src/main/java/darkknight/jewelrycraft/util/Variables.java b/src/main/java/darkknight/jewelrycraft/util/Variables.java index fa48bcf..7dc29c3 100644 --- a/src/main/java/darkknight/jewelrycraft/util/Variables.java +++ b/src/main/java/darkknight/jewelrycraft/util/Variables.java @@ -6,7 +6,7 @@ public class Variables { public static final String MODID = "jewelrycraft2"; public static final String MODNAME = "Jewelrycraft 2"; - public static final String VERSION = "1.1.1"; + public static final String VERSION = "1.1.2"; public static final String PACKET_CHANNEL = "jewelrycraft2"; public static final String CONFIG_GUI = "darkknight.jewelrycraft.config.ConfigGuiFactory"; diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java index a6c49e8..3a7dc4f 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java @@ -4,12 +4,11 @@ import java.util.Random; import cpw.mods.fml.common.IWorldGenerator; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.config.ConfigHandler; -import net.minecraft.client.multiplayer.ChunkProviderClient; import net.minecraft.init.Blocks; import net.minecraft.world.World; +import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.event.terraingen.ChunkProviderEvent; public class Generation implements IWorldGenerator { public static WorldGenStructure STRUCTURE_1 = new WorldGenStructure1(); @@ -38,14 +37,16 @@ public class Generation implements IWorldGenerator { private void generateSurface(World world, Random random, int i, int j) { if (ConfigHandler.ENABLE_WORLD_GEN) { - if (ConfigHandler.ORE_GEN) generateShadowOre(world, random, i, j); - if (ConfigHandler.CRYSTAL_GEN) generateCrystals(world, random, i, j); - if (ConfigHandler.STRUCTURES[0]) generateStructureOverground(STRUCTURE_1, world, random, i, j, 1, false, true); - if (ConfigHandler.STRUCTURES[1]) generateStructureUnderground(STRUCTURE_2, world, random, i, j, 3, false, true); - if (ConfigHandler.STRUCTURES[2]) generateStructureUnderground(STRUCTURE_3, world, random, i, j, 3, false, true); - if (ConfigHandler.STRUCTURES[3]) generateStructureOverground(STRUCTURE_4, world, random, i, j, 5, false, true); - if (ConfigHandler.STRUCTURES[4]) generateStructureUnderground(STRUCTURE_5, world, random, i, j, 3, false, true); - if (ConfigHandler.STRUCTURES[5]) generateStructureOverground(STRUCTURE_6, world, random, i, j, 3, false, true); + if (!world.getWorldInfo().getTerrainType().equals(WorldType.FLAT)) { + if (ConfigHandler.ORE_GEN) generateShadowOre(world, random, i, j); + if (ConfigHandler.CRYSTAL_GEN) generateCrystals(world, random, i, j); + if (ConfigHandler.STRUCTURES[0]) generateStructureOverground(STRUCTURE_1, world, random, i, j, 6, false, true); + if (ConfigHandler.STRUCTURES[1]) generateStructureUnderground(STRUCTURE_2, world, random, i, j, 5, false, true); + if (ConfigHandler.STRUCTURES[2]) generateStructureUnderground(STRUCTURE_3, world, random, i, j, 7, false, true); + if (ConfigHandler.STRUCTURES[3]) generateStructureOverground(STRUCTURE_4, world, random, i, j, 10, false, true); + if (ConfigHandler.STRUCTURES[4]) generateStructureUnderground(STRUCTURE_5, world, random, i, j, 6, false, true); + if (ConfigHandler.STRUCTURES[5]) generateStructureOverground(STRUCTURE_6, world, random, i, j, 10, false, true); + } } } @@ -101,7 +102,7 @@ public class Generation implements IWorldGenerator { if (noOfAttempts) { for (int k = 0; k < maxAttempts; k++) { int x = i + random.nextInt(16); - int y = (world.getChunkHeightMapMinimum(i, j) > 0 ? world.getChunkHeightMapMinimum(i, j): world.getChunkFromChunkCoords(i, j).heightMapMinimum - 16) + random.nextInt(4); + int y = (world.getChunkHeightMapMinimum(i, j) > 0 ? world.getChunkHeightMapMinimum(i, j) : world.getChunkFromChunkCoords(i, j).heightMapMinimum - 16) + random.nextInt(4); int z = j + random.nextInt(16); if (world.getBlock(x, y, z) == Blocks.air && (world.getBlock(x, y - 1, z) == Blocks.stone || world.getBlock(x, y - 1, z) == Blocks.sand || world.getBlock(x, y - 1, z) == Blocks.grass)) structure.generate(world, biomeBase, random, x, y, z); } @@ -109,13 +110,12 @@ public class Generation implements IWorldGenerator { else if (chanceOfSpawning) { if (random.nextInt(maxAttempts) == 0) { int x = i + random.nextInt(16); - int y = (world.getChunkHeightMapMinimum(i, j) > 0 ? world.getChunkHeightMapMinimum(i, j): world.getChunkFromChunkCoords(i, j).heightMapMinimum - 16) + random.nextInt(4); + int y = (world.getChunkHeightMapMinimum(i, j) > 0 ? world.getChunkHeightMapMinimum(i, j) : world.getChunkFromChunkCoords(i, j).heightMapMinimum - 16) + random.nextInt(4); int z = j + random.nextInt(16); - if (world.getBlock(x, y, z) == Blocks.air && (world.getBlock(x, y - 1, z) == Blocks.stone - || world.getBlock(x, y - 1, z) == Blocks.sand - || world.getBlock(x, y - 1, z) == Blocks.grass)){ structure.generate(world, biomeBase, random, x, y, z); - System.out.println(x + " " + z); - } + if (world.getBlock(x, y, z) == Blocks.air && (world.getBlock(x, y - 1, z) == Blocks.stone || world.getBlock(x, y - 1, z) == Blocks.sand || world.getBlock(x, y - 1, z) == Blocks.grass)) { + structure.generate(world, biomeBase, random, x, y, z); + System.out.println(x + " " + z); + } } } } -- cgit v1.2.3