Alarm cleanup + tooltip and techreborn manual UI (#1437)

* Alarm cleanup and tooltip, Tech manual UI

* add peskty comma

* Compress png

* Rename to wiki and asked user before opening browser
This commit is contained in:
Dimmerworld 2018-02-12 00:59:52 +11:00 committed by Modmuss50
parent 9349ffe264
commit 27dacb327a
8 changed files with 165 additions and 37 deletions

View file

@ -29,14 +29,18 @@ import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyDirection; import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import prospector.shootingstar.ShootingStar; import prospector.shootingstar.ShootingStar;
@ -47,7 +51,7 @@ import techreborn.lib.ModInfo;
import techreborn.tiles.TileAlarm; import techreborn.tiles.TileAlarm;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List;
public class BlockAlarm extends BaseTileBlock { public class BlockAlarm extends BaseTileBlock {
public static PropertyDirection FACING; public static PropertyDirection FACING;
@ -66,6 +70,7 @@ public class BlockAlarm extends BaseTileBlock {
} }
private AxisAlignedBB[] bbs; private AxisAlignedBB[] bbs;
public BlockAlarm() { public BlockAlarm() {
super(Material.ROCK); super(Material.ROCK);
setUnlocalizedName("techreborn.alarm"); setUnlocalizedName("techreborn.alarm");
@ -84,12 +89,12 @@ public class BlockAlarm extends BaseTileBlock {
@Override @Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
TileAlarm tileEntity = (TileAlarm)worldIn.getTileEntity(pos); TileAlarm tileEntity = (TileAlarm) worldIn.getTileEntity(pos);
if (tileEntity == null) { if (tileEntity == null) {
return super.onBlockActivated(worldIn, pos, state, playerIn, hand, facing, hitX, hitY, hitZ); return super.onBlockActivated(worldIn, pos, state, playerIn, hand, facing, hitX, hitY, hitZ);
}else { } else {
if(!worldIn.isRemote) { if (!worldIn.isRemote) {
if(playerIn.isSneaking()) { if (playerIn.isSneaking()) {
tileEntity.rightClick(); tileEntity.rightClick();
} }
} }
@ -106,8 +111,8 @@ public class BlockAlarm extends BaseTileBlock {
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta) {
Boolean active = (meta&8)==8; Boolean active = (meta & 8) == 8;
EnumFacing facing = EnumFacing.getFront(meta&7); EnumFacing facing = EnumFacing.getFront(meta & 7);
return this.getDefaultState().withProperty(FACING, facing).withProperty(ACTIVE, active); return this.getDefaultState().withProperty(FACING, facing).withProperty(ACTIVE, active);
} }
@ -116,7 +121,7 @@ public class BlockAlarm extends BaseTileBlock {
} }
public static EnumFacing getFacing(IBlockState state) { public static EnumFacing getFacing(IBlockState state) {
return (EnumFacing)state.getValue(FACING); return (EnumFacing) state.getValue(FACING);
} }
public static void setFacing(EnumFacing facing, World world, BlockPos pos) { public static void setFacing(EnumFacing facing, World world, BlockPos pos) {
@ -161,8 +166,13 @@ public class BlockAlarm extends BaseTileBlock {
} }
@Override @Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return this.bbs[getFacing(state).getIndex()]; return this.bbs[getFacing(state).getIndex()];
} }
@Override
public void addInformation(final ItemStack stack, final World world, final List<String> tooltip, ITooltipFlag flag) {
tooltip.add(TextFormatting.GRAY + I18n.format("techreborn.tooltip.alarm"));
}
} }

View file

@ -33,6 +33,7 @@ import techreborn.client.container.ContainerDestructoPack;
import techreborn.client.container.IContainerProvider; import techreborn.client.container.IContainerProvider;
import techreborn.client.gui.*; import techreborn.client.gui.*;
import techreborn.client.gui.autocrafting.GuiAutoCrafting; import techreborn.client.gui.autocrafting.GuiAutoCrafting;
import techreborn.items.tools.ItemTechManual;
import techreborn.tiles.*; import techreborn.tiles.*;
import techreborn.tiles.fusionReactor.TileFusionControlComputer; import techreborn.tiles.fusionReactor.TileFusionControlComputer;
import techreborn.tiles.generator.*; import techreborn.tiles.generator.*;
@ -155,6 +156,8 @@ public class GuiHandler implements IGuiHandler {
return new GuiPlasmaGenerator(player, (TilePlasmaGenerator) tile); return new GuiPlasmaGenerator(player, (TilePlasmaGenerator) tile);
case DISTILLATION_TOWER: case DISTILLATION_TOWER:
return new GuiDistillationTower(player, (TileDistillationTower) tile); return new GuiDistillationTower(player, (TileDistillationTower) tile);
case MANUAL:
return new GuiManual(player);
default: default:
break; break;

View file

@ -0,0 +1,117 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2017 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.client.gui;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiConfirmOpenLink;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import techreborn.items.tools.ItemTechManual;
import java.awt.*;
public class GuiManual extends GuiScreen {
ItemTechManual manual;
EntityPlayer player;
private static final ResourceLocation texture = new ResourceLocation("techreborn", "textures/gui/manual.png");
int guiWidth = 207;
int guiHeight = 195;
private static final String text1 = I18n.format("techreborn.manual.wiki");
private static final String text2 = I18n.format("techreborn.manual.discord");
public GuiManual(EntityPlayer player) {
this.player = player;
}
@Override
public boolean doesGuiPauseGame() {
return false;
}
@Override
public void initGui() {
this.buttonList.add(new GuiButton(1, (width / 2 - 30), (height / 2 - (guiHeight / 4)) + 17, 60, 20, I18n.format("techreborn.manual.wikibtn")));
this.buttonList.add(new GuiButton(2, (width / 2 - 30), (height / 2) + 22, 60, 20, I18n.format("techreborn.manual.discordbtn")));
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
this.drawDefaultBackground();
this.mc.getTextureManager().bindTexture(GuiManual.texture);
int centerX = (width / 2) - guiWidth / 2;
int centerY = (height / 2) - guiHeight / 2;
drawTexturedModalRect(centerX, centerY, 0, 0, guiWidth, guiHeight);
this.fontRenderer.drawString(text1, ((width / 2) - this.fontRenderer.getStringWidth(text1) / 2), height / 2 - (guiHeight / 4), 4210752);
this.fontRenderer.drawString(text2, ((width / 2) - this.fontRenderer.getStringWidth(text2) / 2), height / 2 + 5, 4210752);
super.drawScreen(mouseX, mouseY, partialTicks);
}
@Override
protected void actionPerformed(GuiButton button) {
switch (button.id) {
case 1:
this.mc.displayGuiScreen(new GuiConfirmOpenLink(this, "http://wiki.techreborn.ovh", 1, false));
break;
case 2:
this.mc.displayGuiScreen(new GuiConfirmOpenLink(this, "http://discord.gg/0tCDWb77cvetwm0e", 2, false));
break;
}
}
@Override
public void confirmClicked(boolean result, int id) {
switch(id) {
case 1:
if(result == true) {
try {
Desktop.getDesktop().browse(new java.net.URI("http://wiki.techreborn.ovh"));
} catch (Exception e) {
System.err.print(e);
}
}else {
this.mc.displayGuiScreen(this);
}
break;
case 2:
if(result == true) {
try {
Desktop.getDesktop().browse(new java.net.URI("http://discord.gg/0tCDWb77cvetwm0e"));
} catch (Exception e) {
System.err.print(e);
}
}else {
this.mc.displayGuiScreen(this);
}
break;
}
}
}

View file

@ -24,22 +24,18 @@
package techreborn.items.tools; package techreborn.items.tools;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.client.resources.I18n;
import net.minecraft.world.World; import net.minecraft.world.World;
import techreborn.Core; import techreborn.Core;
import techreborn.client.EGui; import techreborn.client.EGui;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.items.ItemTR; import techreborn.items.ItemTR;
import java.util.List;
public class ItemTechManual extends ItemTR { public class ItemTechManual extends ItemTR {
public ItemTechManual() { public ItemTechManual() {
@ -51,13 +47,8 @@ public class ItemTechManual extends ItemTR {
@Override @Override
public ActionResult<ItemStack> onItemRightClick(final World world, final EntityPlayer player, public ActionResult<ItemStack> onItemRightClick(final World world, final EntityPlayer player,
final EnumHand hand) { final EnumHand hand) {
player.openGui(Core.INSTANCE, EGui.MANUAL.ordinal(), world, (int) player.posX, (int) player.posY, player.openGui(Core.INSTANCE, EGui.MANUAL.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posY);
(int) player.posY);
return new ActionResult<>(EnumActionResult.SUCCESS, player.getHeldItem(hand)); return new ActionResult<>(EnumActionResult.SUCCESS, player.getHeldItem(hand));
} }
@Override
public void addInformation(final ItemStack stack, final World world, final List<String> tooltip, ITooltipFlag flag) {
tooltip.add(TextFormatting.RED + I18n.format("tooltip.wip"));
}
} }

View file

@ -43,7 +43,7 @@ public class TileAlarm extends TileEntity implements ITickable {
public void update() { public void update() {
if (!world.isRemote && world.getTotalWorldTime() % 25 == 0 && world.isBlockPowered(getPos())) { if (!world.isRemote && world.getTotalWorldTime() % 25 == 0 && world.isBlockPowered(getPos())) {
BlockAlarm.setActive(true, world, pos); BlockAlarm.setActive(true, world, pos);
switch(selectedSound){ switch (selectedSound) {
case 1: case 1:
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM, SoundCategory.BLOCKS, 4F, 1F); world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM, SoundCategory.BLOCKS, 4F, 1F);
break; break;
@ -62,7 +62,7 @@ public class TileAlarm extends TileEntity implements ITickable {
@Override @Override
public NBTTagCompound writeToNBT(NBTTagCompound compound) { public NBTTagCompound writeToNBT(NBTTagCompound compound) {
if(compound == null){ if (compound == null) {
compound = new NBTTagCompound(); compound = new NBTTagCompound();
} }
compound.setInteger("selectedSound", this.selectedSound); compound.setInteger("selectedSound", this.selectedSound);
@ -71,17 +71,17 @@ public class TileAlarm extends TileEntity implements ITickable {
@Override @Override
public void readFromNBT(NBTTagCompound compound) { public void readFromNBT(NBTTagCompound compound) {
if(compound != null && compound.hasKey("selectedSound")){ if (compound != null && compound.hasKey("selectedSound")) {
this.selectedSound = compound.getInteger("selectedSound"); this.selectedSound = compound.getInteger("selectedSound");
} }
super.readFromNBT(compound); super.readFromNBT(compound);
} }
public void rightClick() { public void rightClick() {
if (!world.isRemote){ if (!world.isRemote) {
if(selectedSound < 3){ if (selectedSound < 3) {
selectedSound++; selectedSound++;
}else{ } else {
selectedSound = 1; selectedSound = 1;
} }
ChatUtils.sendNoSpamMessages(MessageIDs.alarmID, new TextComponentString(TextFormatting.GRAY + I18n.format("techreborn.message.alarm") + " " + "Alarm " + selectedSound)); ChatUtils.sendNoSpamMessages(MessageIDs.alarmID, new TextComponentString(TextFormatting.GRAY + I18n.format("techreborn.message.alarm") + " " + "Alarm " + selectedSound));

View file

@ -718,6 +718,13 @@ techreborn.tooltip.inventory=Inventory
techreborn.tooltip.upgrades=Upgrades techreborn.tooltip.upgrades=Upgrades
techreborn.tooltip.transferRate=Transfer Rate techreborn.tooltip.transferRate=Transfer Rate
techreborn.tooltip.tier=Tier techreborn.tooltip.tier=Tier
techreborn.tooltip.alarm=Shift rightclick to change sound
#ManualUI
techreborn.manual.wiki=Online wiki
techreborn.manual.discord=Our discord
techreborn.manual.wikibtn=Open
techreborn.manual.discordbtn=Join
#Advancements #Advancements

Binary file not shown.

After

Width:  |  Height:  |  Size: 904 B

View file

@ -10,7 +10,7 @@
"authorList": [ "authorList": [
"modmuss50", "Gigabit101", "Prospector" "modmuss50", "Gigabit101", "Prospector"
], ],
"credits": "Thanks to these contributors: TheMattaBase, Mj11jM, Mazdallier, tntrololol, joflashstudios, drcrazy, lclc98, Lordmau5, mezz, and Thog", "credits": "Thanks to these contributors: TheMattaBase, Mj11jM, Mazdallier, tntrololol, joflashstudios, drcrazy, lclc98, Lordmau5, mezz, Thog, and Dimmerworld",
"logoFile": "logo.png", "logoFile": "logo.png",
"screenshots": [ "screenshots": [
], ],