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:
parent
9349ffe264
commit
27dacb327a
8 changed files with 165 additions and 37 deletions
|
@ -29,14 +29,18 @@ import net.minecraft.block.properties.PropertyBool;
|
|||
import net.minecraft.block.properties.PropertyDirection;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
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.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumBlockRenderType;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import prospector.shootingstar.ShootingStar;
|
||||
|
@ -47,7 +51,7 @@ import techreborn.lib.ModInfo;
|
|||
import techreborn.tiles.TileAlarm;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BlockAlarm extends BaseTileBlock {
|
||||
public static PropertyDirection FACING;
|
||||
|
@ -66,6 +70,7 @@ public class BlockAlarm extends BaseTileBlock {
|
|||
}
|
||||
|
||||
private AxisAlignedBB[] bbs;
|
||||
|
||||
public BlockAlarm() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("techreborn.alarm");
|
||||
|
@ -84,12 +89,12 @@ public class BlockAlarm extends BaseTileBlock {
|
|||
|
||||
@Override
|
||||
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) {
|
||||
return super.onBlockActivated(worldIn, pos, state, playerIn, hand, facing, hitX, hitY, hitZ);
|
||||
}else {
|
||||
if(!worldIn.isRemote) {
|
||||
if(playerIn.isSneaking()) {
|
||||
} else {
|
||||
if (!worldIn.isRemote) {
|
||||
if (playerIn.isSneaking()) {
|
||||
tileEntity.rightClick();
|
||||
}
|
||||
}
|
||||
|
@ -106,8 +111,8 @@ public class BlockAlarm extends BaseTileBlock {
|
|||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
Boolean active = (meta&8)==8;
|
||||
EnumFacing facing = EnumFacing.getFront(meta&7);
|
||||
Boolean active = (meta & 8) == 8;
|
||||
EnumFacing facing = EnumFacing.getFront(meta & 7);
|
||||
return this.getDefaultState().withProperty(FACING, facing).withProperty(ACTIVE, active);
|
||||
}
|
||||
|
||||
|
@ -116,7 +121,7 @@ public class BlockAlarm extends BaseTileBlock {
|
|||
}
|
||||
|
||||
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) {
|
||||
|
@ -161,8 +166,13 @@ public class BlockAlarm extends BaseTileBlock {
|
|||
}
|
||||
|
||||
@Override
|
||||
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
|
||||
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"));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import techreborn.client.container.ContainerDestructoPack;
|
|||
import techreborn.client.container.IContainerProvider;
|
||||
import techreborn.client.gui.*;
|
||||
import techreborn.client.gui.autocrafting.GuiAutoCrafting;
|
||||
import techreborn.items.tools.ItemTechManual;
|
||||
import techreborn.tiles.*;
|
||||
import techreborn.tiles.fusionReactor.TileFusionControlComputer;
|
||||
import techreborn.tiles.generator.*;
|
||||
|
@ -152,9 +153,11 @@ public class GuiHandler implements IGuiHandler {
|
|||
case AUTO_CRAFTING_TABLE:
|
||||
return new GuiAutoCrafting(player, (TileAutoCraftingTable) tile);
|
||||
case PLASMA_GENERATOR:
|
||||
return new GuiPlasmaGenerator(player, (TilePlasmaGenerator) tile);
|
||||
return new GuiPlasmaGenerator(player, (TilePlasmaGenerator) tile);
|
||||
case DISTILLATION_TOWER:
|
||||
return new GuiDistillationTower(player, (TileDistillationTower) tile);
|
||||
return new GuiDistillationTower(player, (TileDistillationTower) tile);
|
||||
case MANUAL:
|
||||
return new GuiManual(player);
|
||||
default:
|
||||
break;
|
||||
|
||||
|
|
117
src/main/java/techreborn/client/gui/GuiManual.java
Normal file
117
src/main/java/techreborn/client/gui/GuiManual.java
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -24,22 +24,18 @@
|
|||
|
||||
package techreborn.items.tools;
|
||||
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.Core;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.client.TechRebornCreativeTab;
|
||||
import techreborn.items.ItemTR;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemTechManual extends ItemTR {
|
||||
|
||||
public ItemTechManual() {
|
||||
|
@ -51,13 +47,8 @@ public class ItemTechManual extends ItemTR {
|
|||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(final World world, final EntityPlayer player,
|
||||
final EnumHand hand) {
|
||||
player.openGui(Core.INSTANCE, EGui.MANUAL.ordinal(), world, (int) player.posX, (int) player.posY,
|
||||
(int) player.posY);
|
||||
player.openGui(Core.INSTANCE, EGui.MANUAL.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posY);
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,15 +43,15 @@ public class TileAlarm extends TileEntity implements ITickable {
|
|||
public void update() {
|
||||
if (!world.isRemote && world.getTotalWorldTime() % 25 == 0 && world.isBlockPowered(getPos())) {
|
||||
BlockAlarm.setActive(true, world, pos);
|
||||
switch(selectedSound){
|
||||
case 1:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM, SoundCategory.BLOCKS, 4F, 1F);
|
||||
switch (selectedSound) {
|
||||
case 1:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM, SoundCategory.BLOCKS, 4F, 1F);
|
||||
break;
|
||||
case 2:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM_2, SoundCategory.BLOCKS, 4F, 1F);
|
||||
case 2:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM_2, SoundCategory.BLOCKS, 4F, 1F);
|
||||
break;
|
||||
case 3:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM_3, SoundCategory.BLOCKS, 4F, 1F);
|
||||
case 3:
|
||||
world.playSound(null, getPos().getX(), getPos().getY(), getPos().getZ(), ModSounds.ALARM_3, SoundCategory.BLOCKS, 4F, 1F);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -62,7 +62,7 @@ public class TileAlarm extends TileEntity implements ITickable {
|
|||
|
||||
@Override
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound compound) {
|
||||
if(compound == null){
|
||||
if (compound == null) {
|
||||
compound = new NBTTagCompound();
|
||||
}
|
||||
compound.setInteger("selectedSound", this.selectedSound);
|
||||
|
@ -71,20 +71,20 @@ public class TileAlarm extends TileEntity implements ITickable {
|
|||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound compound) {
|
||||
if(compound != null && compound.hasKey("selectedSound")){
|
||||
if (compound != null && compound.hasKey("selectedSound")) {
|
||||
this.selectedSound = compound.getInteger("selectedSound");
|
||||
}
|
||||
super.readFromNBT(compound);
|
||||
}
|
||||
|
||||
public void rightClick() {
|
||||
if (!world.isRemote){
|
||||
if(selectedSound < 3){
|
||||
if (!world.isRemote) {
|
||||
if (selectedSound < 3) {
|
||||
selectedSound++;
|
||||
}else{
|
||||
} else {
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -718,6 +718,13 @@ techreborn.tooltip.inventory=Inventory
|
|||
techreborn.tooltip.upgrades=Upgrades
|
||||
techreborn.tooltip.transferRate=Transfer Rate
|
||||
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
|
||||
|
||||
|
|
BIN
src/main/resources/assets/techreborn/textures/gui/manual.png
Normal file
BIN
src/main/resources/assets/techreborn/textures/gui/manual.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 904 B |
|
@ -10,7 +10,7 @@
|
|||
"authorList": [
|
||||
"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",
|
||||
"screenshots": [
|
||||
],
|
||||
|
|
Loading…
Reference in a new issue